The whole 4GB of available RAM is never going to be 100% available as the integrated graphics (GPU) will have been assigned a chunk of it, this is the same for any 32 / 64bit OS. The situation is worse on a 32bit OS however as they use the RAM above 3.25GB (varies by +-0.25GB in general) for DMA addressing and system caches. From a software development stance there is very little performance differences between 32 and 64bit systems. I also very much doubt any 3rd party application will be able to use this “invisible ram” as they call it as the memory address is locked out by the kernel (only accessable by drivers, not user mode code).