suggest you read this
3 GB barrier - Wikipedia, the free encyclopedia
and this
HOW TO: Removing 4GB Memory Limit on 32 bit Windows
you'll see that addressing the whole memory is totally possible, and happens in some server versions of Windows
and from separate references I've read, SOME iterations of Win7 Ultimate
Its an artificial limit