1. musíš uvést celou cestu k CMD.EXE
2. použij parametr /K, okno se hned nezavře
Ta dávka by fungovat měla.
Co se týká SQL serveru, i když se sekne, mělo by pomoct zastavit službu a znovu ji spustit (popř. bude misto SQLSERVER jméno instance):
Restart.BAT:
NET STOP SQLSERVER
NET START SQLSERVER
ShellExecute(0, 'Open', PChar(Disk:\cesta\Restart.bat), nil, nil, SW_SHOWNORMAL);
Možná by stálo za to zjistit a odstranit příčinu "sekání"