Okay, trying to clear up a lot of misconceptions here...
For a longer version, with a lot more details, which will also mention some edge cases I'm ignoring here, look at this
ArsTechnica forum thread
1. A 32-bit OS has 2^32 bits of address space, or 4 GB, available.
2. Many devices, most notably the video memory in your video card, are mapped to some of that address space because memory-mapped I/O is much faster than any other means of communicating with them. If address space is used by devices, then the memory that would correspond to it cannot be used. This is why you won't see all 4 GB you have installed under 32-bit desktop Windows.
3. Desktop versions of 32-bit Windows allow any single application to use up to 2 GB.
4. Although almost all current CPUs support 'PAE' which allows 36-bit memory addressing, a lot of 32-bit drivers have issues with being mapped to memory above 4 GB. So only server versions of 32-bit Windows support this feature (which allows up to 64 GB of address space).
5. By far the best option, if you have 4GB+ of RAM and want to use all of it under a desktop version of Windows, is to get 64-bit Vista. It has much better driver support than 64-bit XP, hacks to enable accessing 4GB+ in pre-SP2 versions of XP open up gaping security holes, and even if server versions of windows weren't unsuited to gaming use, legit copies are expensive.