Thank you for answering my question and clarification. I confirm the problem. Well, it appears to be something that really works this way. To me, it looks like some peculiarity in WoW64 (something a 32-bit application works with on Windows for 64-bit
instruction-set architectures,
http://en.wikipedia.org/wiki/WOW64[
^]).
Why do I think so? Because I also tested the opposite case: when a 64-bit .NET application fetch process information on a 32-bit process, not a .NET one. In both cases, running as administrator did not make any difference, this is really an instruction-set architecture problem.
Here is one practical conclusion: in such application, always use the platform target "Any CPU", it will make you code working correctly in all 9 cases (three different instruction-set architectures: x86, x86-64, IA-64 (Itanium), in all combinations).
—SA