What is it in vista that causes this to happen? I don't see why you wouldn't just throw XP on one drive, Vista on another, then select the boot drive in the bios. Modern motherboards will let you chose what drive to boot from.
I run vista and xp in dual boot, it was really easy, all I had to do was put in the vista install disc while in xp and select the option to install it to a different location, my second hard drive (an old 20gb 5400rpm).
When it boots it will display an options screen, either windows vista or an earlier version of windows (xp). It will by default automatically boot vista if you do not make a selection after 30 seconds.
In vista you can go into system properties, advanced, startup and recovery then select the operating system you want as default and length of time to automatically boot.
This has worked for me brilliantly but both hard drives are IDE so im not sure about SATA but it should be the same.