Booting OS's Windows/Linux
To be able to boot into everything you should install all window systems first and then Linux using Grub boot loader. If you use Lilo you are going to wish you did not. Do not use any Fat partitions for windows. Most every Linux system can now read Windows partitions now. Remember you can only have so many primary drives also. Plugging in and unplugging HDD's can become tiresome after awhile plus if one is using SATA breaking the pins can occur.
I am running XP Pro-Windows7 Beta, openSUSE, SLED and Ubuntu on 1 hard drive. SLED is the controlling boot. When the system boots up I have choice of selected what system to boot into using Linux Grub. Usually it gives you around 6 seconds to choose or it boots into the primary Linux system. The thing about using Linux to control is one can just delete a windows system like the 7 Beta without corrupting the boot loader for the rest.
As far as having to buy Vista to go to Windows 7 from XP Pro, you are throwing money away. If you know anything about systems you can save any installation programs/documents/pics/music, etc to a CD or DVD or a external device, format the partition, and install Windows 7, then reload all your items back on to it that you saved. Of course if you have lots of money just buy Vista and then upgrade to 7. I am quite sure if you have the time to read posts on this forum and than post items you can make time to do all this. I forsee lots of problems upgrading to Windows 7 from Vista since it will actually be a down grading of many of the programs on Vista to 7. When new systems are created it is always best to do a clean fresh install rather than upgrading, plus you get rid of all the junk you accumulated over the years or left behind files from installing/uninstalling programs.