My PC is currently triple booting Mythbuntu, XP and Vista using the grub boot loader. I had some issues getting this to work seeing the new boot loader for Vista likes to take over the world, which doesn't surprise me. Anyway, after many, many boots and searching forums, it ended up being a fairly easy solution, and thought I would post it.
After you get your hard drives partitioned for the 3 OSes, install XP, then install Vista. Now after you boot your PC, the Vista boot loader starts with 2 choices, Microsoft Vista or "Earlier Version of Windows" (being the XP OS). Now that dual boot is working fine, time to install Linux (using grub as the boot loader, lilo should be fine too, but I have always used grub). After Linux is installed, you will now notice that grub starts, and you will see the Windows OS listed. Then you try to boot into Windows and Oh no! Doesn't work!
Boot into Linux and su to root (or use sudo) and modify /boot/grub/menu.lst Any configuration file you modify, I strongly suggest to use vi. Some of the fancy text editors like to put underlying formatting in the test, which can screw up everything.
Scroll down to the Windows section of the boot loader, and in my case I had to do some modifying. I am not sure if this was an issue with how grub detected the Windows partitions or if an issue with Ubuntu (or Mythbuntu).
I had to change the following to get everything back to normal.
root --> change from hd1,0 to hd0,0
map --> comment both out (this change took my quite awhile to figure out as simple as it is)
Here is what my new Windows section of the boot loader looks like (the /dev/sdb1 will depend on which drives you have, and the hd0,0 could also be different too)
# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sdb1
title Windows Vista/Longhorn (loader)
root (hd0,0)
savedefault
makeactive
#map (hd0) (hd1)
#map (hd1) (hd0)
chainloader +1
So now when I boot, the grub boot loader will start first, then I choose Windows Vista / Longhorn. This will call the Windows Vista boot loader (the reason for chainloader +1 option), and now we are asked to boot Vista or and Earlier Version of Windows. Whohoo, all OSes now boot again.
I am not sure if this will help your booting issues if you are having any, but it was the solution in my case.