Otro posible (aunque no se hasta que punto probable) fallo. El contador que se usa en el for principal puede llegar a desbordarse (en mi maquina quizas en un par de eones jejeje) ya que incrementa continuamente y dependiendo de lo grande del serial a buscar podria ocurrir.
Lo he solucionado poniendo la siguiente linea al final del for que se encarga del acarreo:
Código PHP:
//Cada vez que llegamos aqui, contador llega siendo multiplo del largo del rango por lo que, para evitar un posible desbordamiento
//de la variable contador, cada vez que entre aquí le asignaremos el valor del largo del rango para curarnos en salud
contador = largoRango;
Sinceramente no se en que interviene esto pero desde que lo hice los tiempos han mejorado algo mas.