Hab ich auch schon bemerkt, das liegt an FindFirstFile/FindNextFile und die brauchen halt bei vielen Dateien ihre Zeit.
Also wenn du auf diese WinAPIs baust, dann geht es nicht viel schneller,
aber eine andere Lösung ist mir noch nicht eingefallen.
Direkte Dateisystemzugriffe werden dirwohl nicht gefallen.
Die FAT/Verzeichnisstruktur oder die MasterFileTable(NTFS) selbst entschlüsseln ist nicht so einfach, wobei der Zugriff auf die MFT mit am Schnellsten sein könnte.
also Bernhard Geyer's Tipp mit ReadDirectoryChangesW währe wohl für dich am Optimalsten.