Můžeš volat WinExec('název exe',SW_SHOW) a potom provést něco jako todle:

repeat
until FindWindow(nil,'titulek externího programu')=0;