Dark_art_: I think the "parallel OS installed" rtcvb32 was refering to, is not literal another complete OS installation but the WOW64 subsystem, that works as a compatibility layer to run 32bit programs on 64bit Windows, which is a component of Windows itself since pretty much forever.
I'm not sure how Microsoft has handled it, but in order to run 32bit programs, it passes 32bit addresses, and the 64 address space doesn't work it. So one would assume there's a 32 and 64bit version of the OS installed to handle both (
and the CPU just switches to 32bit mode on that particular process, switching back during interrupts or OS calls)
If however they had found a way to patch it in a way to use only 64bit throughout then it might work (
at least on the OS level?). Then again if you aren't allocating new memory then it's more likely you're modifying/reading already allocated memory.
I do know however programs tend to crash if you give them the wrong 32/64 bit type. I've given the wrong filters to VirtualDub before, and it didn't like it.
Linux does something similar, where if you wanted to run a 32bit program you may have to install 32bit versions of the libraries. But most of the time if the sources are included with the packages may just compile them for you and install them 64bit as part of the installer. Though for speeds sake they tend to have pre-compiled generic versions of programs so you don't wait 20 minutes for it to run gcc and check all the dependencies and downloading them extra to make it work.