Как определить с каким кодом (ErrorLevel) завершиласть программа, запущенная через Exec()?

Определить можно с помощью DosExitCode:

{$M 8192,0,0}
Uses Dos;
Begin
  SwapVectors;
  Exec(FExpand(FSearch('arj.exe',GetEnv('PATH'))),'x a.arj');
  SwapVectors;
  WriteLn('Код возврата=',lo(DosExitCode));
End.