Ist ja klar, dass sie immer wieder gestartet wird, da ja immer sagst:
[autoit]if FileExists( @DesktopDir&"\Datei1.exe")then
Run(@DesktopDir&"\Datei1.exe")
EndIf
Und so lange sie also nicht auf dem Desktop löscht wird sie durch die while immer und immer wieder gestartet.
Und deine Datei2.exe passiert nichts weil in _FTP_FileGetSize den slash falschrum hast.