Achtung:
FileExists prüft auf Datei oder Verzeichnis (wenn das Verzeichnis nicht gesperrt ist, sonst wird nochmal mit CreateFile versucht und das schlägt beim Verzeichnis meistens fehl, normal wegen fehlender Backup-Berechtigung)
TFile.Exists aber nur auf Datei -> TDirectory.Exists für Verzeichnis
TFile.Exists() macht nichts anderes, als SysUtils.FileExists() aufzurufen und TDirectory.Exists() ruft SysUtils.DirectoryExists() auf.