A computer running Windows XP (32 bit) or Vista (32 bit) can only see a theoretical maximum of 4gb RAM. This is because the maximum value that can be stored in a 32 bit number is 4,294,967,296, or 4gb.
Windows uses a process called memory mapping to access hardware. This is where hardware, like a network card, modem or IDE controller are assigned memory addresses so that Windows can talk to them easily. This is called memory mapped Input/Output (I/O) This area of mapped memory uses about 640mb of RAM, counting down from the top of the 4gb address space.
Then video memory on video cards is mapped the same way, taking up the space below the memory mapped I/O. In your case this uses another 512mb RAM.
Now, this memory space is reserved whether or not you have memory in that area, so when you only had 2gb of RAM you'd never notice that the top 1.2gb of ram was being used for I/O and your video card, because the memory mapped I/O and your real memory did not overlap.
When you added a second 2gb DIMM the real memory overlapped the memory mapped I/O space and the memory mapped I/O space won, taking away access to about 1.2gb of the ram you installed.
As you're using Vista Ultimate you may wish to look into upgrading to Windows Ultimate 64 bit, as it will allow you to use the full 4gb of ram you have now and the full 8gb your motherboard supports. Be aware some programs are not compatible with Vista 64 and many drivers are not available for Vista 64.