Oder ganz einfach: Man ruft die Suchroutine einfach einmal pro Minute per TTimer auf.
Es sauber umzusetzen macht aber mehr Sinn. Dann bekommt man Änderungen gleich mit und nicht erst beim nächsten Suchlauf und einfacher ist es zusätzlich noch.
Am einfachsten ist, wenn man TJvChangeNotify aus der JVCL benutzt. JCL und JVCL dürften die meisten ja ohnehin installiert haben. Die Komponente kann man einfach auf ein Formular oder Datenmodul legen, unter Notifications die zu überwachenden Verzeichnisse festlegen und das OnChangeNotify Event erstellen. Darin bekommt man dann das Verzeichnis mitgeteilt, in dem sich etwas geändert hat und die Information was sich dort geändert hat (Dateiname, Verzeichnisname, Attribute, Dateigröße, ...).
Mit TJvChangeNotify ist das eine Sache von 5 Minuten inkl. Test.