You need a 64-bit OS to address all of your 4 GB system memory because 32-bit doesn't have enough addressing space. 32-bit can address a maximum of 4 GB total, which includes graphics memory among other stuff. In the end you're only able to use about 3 GB of the system memory. 64-bit breaks this barrier but still has a limit, although we're not reaching that limit any time soon.

If you get Vista x64, there will be almost no compatibility problems unless you run some obscure software that nobody else in the world uses.