Just a note: extra registers will not provide you any more memory. You probably have no idea about registers. Where did you get this term "extended memory"? There is no such stuff on modern system, but it was their long time ago.
You need to keep in mind that 1) you can never mix executables compiled for different
instruction-set architectures; 2) for all instruction-set architectures 32-bit executable modules are compatible, they are run on 64-bit Windows systems they run on WoW64 subsystem, see
http://en.wikipedia.org/wiki/WoW64[
^].
That said, the problem could be related to indirect dependencies in your 32-bit executable modules. They can depends on some system DLL which is 32-bit in on system and 64-bit in another system. If the application tries to explicitly load it assuming it is 32-bit, but founds the module of 64-bits, it can cause a disaster. Something like, that, I don't know the exact reason as you did not supply more information.
You can do your investigation by your self. Main tool here would be Microsoft Dependency Walker, please see
http://www.dependencywalker.com/[
^].
—SA