Почему - не скажу, скорее всего особеность запуска именно из Powershell.
Start-Process helloworld.exe
Даст вам то же самое окно GUI с ошибкой
А в самом PS можно смотреть на
$LASTEXITCODE
У меня туда на программу с отсутствующей dll возвращает 0xc0000135
From the ntstatus.h SDK header file:
//
// MessageId: STATUS_DLL_NOT_FOUND
//
// MessageText:
//
// The program can't start because %hs is missing from your computer.
// Try reinstalling the program to fix this problem.
//
#define STATUS_DLL_NOT_FOUND ((NTSTATUS)0xC0000135L) // winnt
Хотя, скорее всего, это как раз окно с ошибкой - особенность запуска из Explorer, а cmd наверняка использует shell.open