<p>I am doing .net programming in addition to c and c++ development and want more flexibility on my home machine.  I want to be able to have both Linux (probably Ubuntu) and Windows Vista on my home computer.  Is there a way I can install both and on boot be prompted for which one to start?  Is there a way to set Windows to default?</p>

<p>I have seen this before in CS labs in undergrad.</p>

<p>Also, I assume there would be no problem if I were to use Windows 32-bit along with Ubuntu 64-bit.  Any advise?</p>

You can dual boot, but I would recommend using a Virtual Machine for what you want to do.
Look at
VMWare
and
Virtual PC
.
For more information on Virtual PC:
http://en.wikipedia.org/wiki/Microsoft_Virtual_PC
For more information on VMWare:
http://en.wikipedia.org/wiki/VMware_Workstation
You should note that dual booting Windows and Linux can be a little risky and is a bit permanent. Running in a Virtual Machine means that you can run the Linux install in a window and not worry about it affecting your development machine at all. The software will not know the difference, so your testing is not affected.
Consider that the Virtual Machine is like a sandbox, where you can try new and different things out, without fear of consequences.
Virtual machines do run with a bit of overhead, and therefore you should not expect to be playing games or anything through them. I would say it is very much like logging into a machine through Remote Desktop (good LAN connection) as far as performance goes.
EDIT: There is also
VirtualBox
that you could check out. Thanks for the helpers in my comments for that one.