Para quem também tem esse problema: Eu não encontrei uma solução através de uma configuração do Windows ou similar. O programa (que foi escrito por mim) apenas importou funções do kernel32.dll (que deve sempre funcionar). No entanto kernel32.dll às vezes não está disponível em sistemas de área de trabalho remota.
Minha solução foi pegar o código-fonte (do EXE) e colocá-lo em uma DLL. O processo de host chama agora a DLL em vez do EXE. Como essa DLL não causa um novo processo na execução (o código está sendo executado no processo), o bug não ocorreu mais nos sistemas de área de trabalho remota. Então, no meu caso, o problema foi resolvido.