wobei sowas aber auch sehr nach der Verwendung eines Threads schreit.
Na ja, die Frage ist doch: kann das Programm während des Kopierens dem Benutzer irgendeine zusätzliche Dienstleistung bereitstellen?
Häufig ist es aber so, dass der Benutzer auf den Abschluss der Operation (hier: kopieren der Dateien) warten muss, bevor er sinnvoll weiterarbeiten kann.
Leider hat Delphi auch keine Multithreading-Gene in Objekt-Pascal selbst mitbekommen, so dass echtes Multithreading immer viel aufwändiger als das primitive Application.ProccessMessages ist.
Vom Aufwand/Nutzen Verhältnis her gesehen, würde ich hier keinen Thread benützen.
Rein technisch gesehen wäre es aber zumindest interessant, denn Multithreading ist einer der Megatrends der nächsten Jahre.