Encontre la solución!!. El problema era la siguiente línea de código:
Código PHP:
if ($archivo == 'index.php') { break; }
Al encontrar el archivo index.php, que es como le he llamado al archivo que ejecuta el listado, dejaba de leer los demás por el break.
Si cambiamos el break por un continue, saltara esa iteración al encontrar el index.php y seguirá funcionando correctamente :), del siguiente modo:
Código PHP:
if ($archivo == 'index.php') { continue; }
Si lo ve un administrador/moderador, que modifique el código original en la FAQ ;)