okay, i had what sounds like the same thing happen to me. I brought a HDD with XP on it over to a new build as a storage device, i installed vista on the main drive. my machine would not boot from the vista drive, it would not boot at all without the storage drive at all actually. i would wait for a second opinion on this as i cant be sure that we were in exactly the same boat, and the fix for my situation actually wasn't supposed to make sense. but in my case i re-assigned the drive letter on the boot drive and cleared the CMOS. but again wait for another opinion because when i posted this scenario last year it had some techs scratching their heads.
BTW, the boot drive should be C:\, but mine was doing the same thing.