Eu resolvi isso:
para system () eu tive que usar duas citações de escape
UniString cmd("\"\"C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe\" \"D:\Second Path\Foo\Bar\"\");
system(cmd.ToCStr());
ou melhor com WinExec ()
UniString cmd("\"C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe\" \"D:\Second Path\Foo\Bar\");
WinExec(cmd.ToCStr(),SW_SHOW);