Re: 64 bit and 32 bit
When you run 32bit software on a 64bit MS operating system, it runs in a virtual 32bit machine. MS calls the virtual machine WOW64 (Windows on Windows64).
It doesn't matter how much memory you have installed, you can only use 4Gb when running a 32bit program (2E32 = 4.295E9). Out of that 4GB memory space, you have to subtract the address space of the graphics card and any other hardware that requires addresses. You also have to subtract the address space of the video card mirrored memory when using DirectX -- it is equal to the amount of installed RAM on the graphics card. Finally, you have to subtract the memory needed by the operating system -- for Vista and WinXP that is about 1GB. For example, if you have a video card with 512MB of memory, it comes out 4GB-512MB-512MB-1GB-Other Hardware Addresses (say ~ 100MB). That leaves about 1.9GB address space for the application you are trying to run. That's only a little more than you would have running under WinXP32 or Vista32.
The biggest problem running 32bit programs in a 64bit OS is the quality of the drivers running on the 64bit hardware. The hardware interface has to be "thunked" from 32bit to 64bit, and some drivers aren't written very well for that.