Hallo Klaus,
die
API-Funktionen hinter FindFirst() etc. lesen die Verzeichnisse wie eine typisierte Datei - record sequentiell. Wurde irgendwann ein Slot freigegeben (z.B. durch Löschen einer Datei oder einer temporären Datei) wird die nächste neue Datei dort eingetragen. Die gewünschte Ordnung wird durch die Shell hergestellt. Oder in deinem Fall durch dein Programm.
Grüße vom marabu