Just yesterday I was converting some C registry code to UNICODE and 64 bit and when I looked at the code to build the COM registry entries I wondered if the \InProcServer32 key might have been changed to \InProcServer64 in Windows 7 64 bit installations. I looked through about 20 random entries and see its still listed as InProcServer32. I guess even Microsoft figured in the late 1990s that 32 bit would go forever!
I'm thinking of converting my grid code to C or C++ (or both, just to compare) 64 bit.
For portability reasons, the '32' tag remains. MS system DLLS are stuck with it on 64 bit platforms. Kernel32.dll, User32.dll etc.
They really should have just bit the bullet, changed the names and did something more logical (like \windows\system64 for the 64-bit components). For backwards compatibility, they could simply create hard links just for existing 32-bit applications. There was also significant code changes required for compatibility with UAC when Vista was released, I think that would have been a good time for the transition. Kind of like ripping off the Band-Aid all at once. Yes, there would have been more hand-wringing, wailing and gnashing of teeth ... but that was happening anyway with Vista.
Just like the geniouse idea with WOW64 that is in fact 32 ... ???