У меня были похожие проблемы с запуском приложений из System32. Обходной путь, который я нашел, использовал SysNative. При тестировании не было согласованности, когда System32 будет работать или когда SysNative будет работать для разных приложений, которые находятся в System32.
static void RunBcdEdit()
{
Process process = new Process();
process.StartInfo.FileName = "c:\\Windows\\SysNative\\bcdedit.exe";
process.StartInfo.UseShellExecute = false;
process.WaitForExit();
}