Some folks have complex answers for doing this, but I have a "quick and dirty" unsophisticated way of doing this that works unconditionally and easy for me. If you have both XP and Vista installed, create a new partition and install a bare bones Vista or Windows 7 on it. You don't need more than a 20 GB partition, and the install only takes about 30 min. to do. You don't need to activate it, update it, or install anything after that. That will re-create the BCD (Boot Configuration Data) to allow you to boot to all 3 partitions. Since right now you can't boot to either one, you'll probably need to use something like UBCD (Ultimate Boot CD) to do this. You can download UBCD from download.com or other places.
Good luck.
my notebook pc is ASUS X58LE series. with original Vista SP1 installed. I need to have a windows XP(SP3) to work with GAMS prog. I choosed drive D to install the second windows. put the CD and it started (from the system boot not from the windows vista) installing Windows XP normally but after restarting for the second time it kept starting installation from the beginning. after several restarts I tried to go back to my own windows vista and check the situation from there. but it didn't get loaded. non of two windows worked. but both were in their drives. at last I had to use the Win Vista recovery CD and reinstall it on drive C. is there any way to check why second windows got installed but didn't work? how can I have windows XP as my second OS?

Chowhound
Comic Vine
GameFAQs
GameSpot
Giant Bomb
TechRepublic