Great, that helps a lot, and explains the problem
Using the instructions you used before type in: bcdedit /set {ntldr} device partition=D: and press Enter on the Keyboard
Currently both Vista and XP are set to boot from the same partition - what Vista considers to be C
This is the funny thing about how the bcd store is seen, it is seen based upon your current OS, it is not a set kind of thing, if you run bcdedit from within Vista, you have to set the drives based upon what Vista sees the drives as, if you run it from within XP, you have to set it based upon how XP sees it. Confusing I know, but that is how it works.



