Wenn ich das richtig interpretiere, dann heißt dies, dass die Datei nicht gefunden wird, oder?
Ich habe aber sowohl
ShellExecute(handle, 'open', 'NTBackup.exe', AufrufAsPChar, '', SW_Shownormal);
als auch
ShellExecute(handle, 'open', 'C:\windows\system32\NTBackup.exe', AufrufAsPChar, '', SW_Shownormal);
ausprobiert. Der Pfad stimmt aber trotzdem kommt der Fehlerwert 2.