If you haven't already bought the 32 bit go for 64 bit. 32 bit programs can generally run on 64 bit. Also your running high end programs and you could need even more then 4GB of ram in the future which would not be possible with 32 bit.
A 32 bit OS can address 4 GB of RAM. The problem is that the OS depends on memory mapped i/o. Any space used for memory mapped i/o comes out of the RAM address space.
Google "memory mapped i/o" for a full explanation.
Windows (all flavors) uses a lot of address space for i/o.
If you haven't already bought the 32 bit go for 64 bit. 32 bit programs can generally run on 64 bit. Also your running high end programs and you could need even more then 4GB of ram in the future which would not be possible with 32 bit.