Wenn Copyfile nicht erfolgreich ist, muss ShowMessage aufgerufen werden
Eben nicht. Das ist ja mein Problem: Es wird nichts überschrieben, obwohl kein Fehler ausgelöst wurde und auch obwohl Copyfile True zurückgibt (also folglich ShowMessage nicht ausgeführt wird).
Außerden wird FailIfExists nicht initialisiert. Das sollte auch gemacht werden.
Nö, wieso? Ist doch egal was drinsteht, solange sichergestellt wurde, dass die Datei nicht existiert...