I'm planning to buy a new Windows computer that I can use to run high-end games and also program on. Anyways, my questions are:

If I compile a program on 64 bit, can it still run on 32 bit (what can I do so it will run)?
Do you think it would be worth getting 64 bit now? Is it easy to upgrade if I do get 32 bit?
Is Vista going to eventually get as good/better than XP?

Thanks in advanced.