You can do this in many way to get back to your Linux and XP. First thing, keep in mind to always run Grub last. I just had the same situation and I was able to get everything working.
First I fix the XP, running the recover console and typing fixmbr and fixboot.
Then I confirm I can boot into XP.
Second I fix the Vista, boot into the DVD, choose recovery, it should automatically fix it for you. I don't remember the exact path I took, but I'm pretty sure you need to boot into the Vista DVD. I'll see if I can find a site that explains this.
Afterward I just confirm that I can get back into Vista, then I confirm I can still get back into XP
Third, boot with your Linux disc, follow this for ubuntu http://doc.gwos.org/index.php/Restore_Grub
Install grub or lilo, which ever one is your favorite, make sure to install the bootloader to the MBR of the first hard disk, usually hda or sda.
You should see the grub loader again and should be back in Ubuntu, where you can edit the bootloader to reflect more changes.