Like I said in the op, when writing to pagefile in 32 bit OS, write to both the inaccessible (over 4GB) memory, and disk. Only read from the ram disk. When the ram disk is full, then purge least frequently used pages from the ram disk and read them back from disk only when needed. Also you could provide some notification that the ram disk is full and further access will be slower.

This would be great improvement over the current situation with 32 bit OS where most of the memory is not used and the system crawls after opening couple dozen IE windows, leaving them open and then coming back to them later which I have verified to be due to pagefile access. I very rarely have needed more than 8 GB of memory during using 64 bit Win 7 so I know this issue is solved well enough with ramdisk pagefile for this use case.

re: the Problem of programs being limited to what they can access in Windows 7 32 bit.

This isn't really that big problem. Few programs I have use more than 2 GB of memory. And those that do, can use said memory without problems with either a 32 bit server kernel or by patching the Windows 7 32 bit kernel by changing one or two bytes, enabling larger allocations. I've seen couple games that crash in consumer Windows and work in server Windows because of their texture allocation being simplistic. Though it may be also that ASLR introduction has something to do with this, but I'll test that theory ASAP to see if it ends the random crashes on level loads of same map. (eg. Run game, load map, crash. Run game again, load same map, no crash)

 

edit: I found on SuperUser comments that DataRam RamDisk and SuperSpeed RamDisk Plus can both allow use of the un-available ("upper") memory in 32 bit os as ram disk for page file. Setting ClearPagefileAtShutdown may be needed to prevent errors on boot.