Hola darkmir.
La verdad no me explico ese comportamiento...
Probé ambos códigos usando sólo la unidad, una carpeta, una carpeta y subcarpeta y funciona correctamente, como ejemplo:
Código:
ListFiles("C:\\WINDOWS\\FONTS\\", ListBox1);
¿ Cuál es exactamente el mensaje de error que te muestra ?
Saludos