As a technical point, in C++ the size of a pointer (canonically void*) is the "bit" of the OS. In this case, a 32-bit OS has a 4 byte pointer while a 64-bit OS has an 8-byte pointer. What this practically means is, since so much of application code relies on the pointer concept, 64-bit OSes have the advantage that they can address much more memory (2^64 bytes instead of 2^32 bytes) but the code consumes more memory.
The trouble I see is that the GPU is not listed and a Core2Duo at 2.8GHz is very outdated. The CPU should bottleneck most things and especially in games that were mentioned. The other issue is why is there 3GB usable? This is sometimes an effect of Windows 32-bit which won't use all 4GB, or it could be some is allocated for integrated graphics, which were uncommon though still existed on the LGA775 platform.
Unless there's a good GPU here, I think it's not possible to play those games except at low settings. And if there's no GPU at all, then I think that 3GB of usable memory will not go as far and a 32-bit OS would actually run faster. Of course if there is a GPU then that 4th GB of memory is suddenly usable so this is also like upgrading from 3GB to 4GB, which more than compensates for the increase in the pointer size and therefore memory usage of programs.
A possible upgrade would be to look at ebay for a Core2Quad as that will double the number of cores available, and you should be able to find this for $30-$40, more for the higher end ones.