I'm trying to get a handle on the 32-bit/64-bit/2GB Per App/Not really 4GB RAM limit thing. Nice title huh? 
A 32-bit app is limited to 2GB in Win XP32 unless you use the /3GB /userva switches in the boot.ini file and the app was compiled with the /largeaddressaware switch. Then the app can use close to 3GB. This I'm sure is right because I found it on so many sites.
A 32-bit app is limited to 2GB in Win XP64 (because XP64 is emulating XP32), unless you use the /3GB /userva switches in the boot.ini file and the app was compiled with the /largeaddressaware switch. Then the app can use 4GB. This I'm not sure about. According to one site I found, the app would have access to up to 4GB, but never more than 4GB. Is this right?
If XP32 made use of PAE the way it was intended we would have access to 64GB (although each app would still be limited to 2GB), but XP sets the limit at 4GB even though PAE is enabled.

A 32-bit app is limited to 2GB in Win XP32 unless you use the /3GB /userva switches in the boot.ini file and the app was compiled with the /largeaddressaware switch. Then the app can use close to 3GB. This I'm sure is right because I found it on so many sites.
A 32-bit app is limited to 2GB in Win XP64 (because XP64 is emulating XP32), unless you use the /3GB /userva switches in the boot.ini file and the app was compiled with the /largeaddressaware switch. Then the app can use 4GB. This I'm not sure about. According to one site I found, the app would have access to up to 4GB, but never more than 4GB. Is this right?
If XP32 made use of PAE the way it was intended we would have access to 64GB (although each app would still be limited to 2GB), but XP sets the limit at 4GB even though PAE is enabled.