Po długich poszukiwaniach znalazłem, że polecenia i programy można uruchamiać w taki sposób:
ShellExecute(0, nil, 'cmd.exe', PChar('/C ' + Cmd), nil, SW_HIDE);
Zauważyłem, że po wywołaniu polecenia, które może skutkować uruchomieniem innego programu, program w Delphi jest kontynuowany dalej.
Jak powinno wyglądać to polecenie, żeby działało w taki sposób, że jak uruchamiam program lub plik BAT, to program z Delphi jest wstrzymany i czeka do zakończenia programu wywołanego z polecenia?