Lo que podes hacer es alocar una consola, ejecutar tu aplicación de DOS, y vos decidir cuando cerrar la consola:
Código Delphi
[-]
var
StartInfo: STARTUPINFO;
ProccesInfo: PROCESS_INFORMATION;
ExitCode: DWORD;
begin
AllocConsole;
try
ZeroMemory(@StartInfo, SizeOf(STARTUPINFO));
StartInfo.cb := SizeOf(STARTUPINFO);
Win32Check(CreateProcess(nil, 'ping 127.0.0.1', nil, nil, FALSE,
CREATE_SEPARATE_WOW_VDM, nil, nil, StartInfo, ProccesInfo));
WaitForSingleObject(ProccesInfo.hProcess, INFINITE);
Sleep(3000);
finally
FreeConsole;
end;
Saludos!