Relative Pfade sind böse.
Nutze absolute Pfade und es geht.
Und warum nicht einfach 2 bis 3 FileStreams, anstatt über diesen uralten DOS-Befehl?
PS: ShellExecute und PWideChar ist auch böse
ShellExecute + PChar + String
ShellExecuteA + PAnsiChar + AnsiString
oder
ShellExecuteW + PWideChar + WideString/UnicodeString