Please see my comment to the question.
Let's see. There is no such thing as X64 OS. As you mean "MFC", "OS" is probably Windows. There are versions for different CPU instruction-set architectures
Usually, it is x86-64, Itanium (IE64) or x86. Only the last on is 32-bit, and it is compatible with all 64-bit architectures. On Windows, it is supported via WoW64. It's important to understand what it does:http://en.wikipedia.org/wiki/WOW64
Is it more or less clear now? All different architectures are incompatible by their instructions. You cannot combine executable modules compiled to target different instruction-set architecture in one process. That is, the same target instruction set should be use in one process. On both 64-bit architectures, 32-bit platform is emulated.
Your "x86" application means that it was compiled targeting x86 (32-bit) instruction set, nothing else. Hence, this code can run only under WoW64, as a 32-bit process. Nothing else.—SA