Eso tiene que ser así porque mientras vamos eliminando los índices disminuyen. Por ejemplo:
  Código PHP:
    for(i=0; i < vcount; i++) {
     voptions[i] = null; }
} 
    
  La primera vez que pasamos por el bucle eliminamos el item 0, con lo que el total de índices se reduce a 4, así que en la última pasada por el bucle ya no encontrará el índice 4 como habría de esperarse ya que solo va a existir el índice 0. Espero no haberte confundido 

.