/3GB switch on 32bit Windows won't allow a 32bit application to address more memory unless the application is Large Address Aware. If it is LAA, then a 32bit application could address up to 3GB when the switch is enabled.
Similarly, using 64bit Windows will not automatically allow a 32-bit application to address more memory, although a LAA 32bit application could address 4GB in this scenario.
So, the short answer to your headline question is: Unless especially compiled as Large Address Aware, a 32bit application cannot address more than 2GB of memory, even on a 64bit OS and system (and even if LAA, the cap would still be 4GB on 64bit).
I suspect most applications are not released as LAA (for example, Skyrim wasn't LAA; they patched that in a few weeks after release), but I cannot comment on the
exe provided with Supreme Commander.
There are tools available to patch in Large Address Aware flag to existing
exes (if the SC game's isn't), but be wary of using them on games as you risk tripping anti-cheat detectors (because your
exe has been modified).
Also, have you monitored memory usage of the game and system when a crash occurs? Given you only have 4GB total in the system, could it be that you're simply running out of RAM for the entire system, and so the game or system chokes to death when it ends up being paged out to disk?