Well you see this is a weird thing. In theory, 32-bit can use UP TO 4GB, but most of them show or less. Theoretically any x64 bit OS would show you up to it's defined limit. E.g.
Windows 7 Ultmate Memory Limits
x86 - Min=1GB Max=4GB
x64 - Min=2GB Max=192GB
Windows XP Professional does come in a x64 architecture, but you'd have to wipe and load to get it to show the full 4GB. And, tbh, since it can use all of your memory, it just cant see it, you probably wouldn't notice much of a difference from all your troubles.