Un par de errores y una pregunta,
El primero es error:
con el primer fscanf lees la linea y antes de tratarla lees la siguiente, eso quiere decir que si la password está en la primera linea no la vas a ver.
El segundo no se si es error:
Si encuentras las password en un archivo, dejas de leer en ese archivo, pero sigues leyendo el resto de archivos. ¿Ese es el comportamiento que quieres tener? El break te sale del primer bucle pero no de todos los bucles.
Por último el problema de que se pare:
¿Estas ejecutando el script en local (ejecutando php programa.php) o en un servidor web (desde un navegador)? El "<br>" da a entender que las pruebas las estas haciendo en un servidor web (o bien un hosting remoto o algo tipo wamp o lamp). Si es así, ten en cuenta que los servidores web tienen un tiempo maximo de ejecucion, para evitar que comportamientos erroneos dejen scripts en ejecucion por un tiempo aleatorio. Si te pasas de ese tiempo el script se para. Echa un vistazo a
http://php.net/manual/es/function.set-time-limit.php. El tiempo por defecto suele estar en 30 segundos. De ahí podria venir el problema de que se te pare a veces en un archivo y otras veces en otro. Se puede definir tambien una variable en el php.ini que modifica dicho tiempo.
Saludos.