Nicht auszuschließen, dass dein XP die Datei auf c: erwartet. Wahrscheinlich wird es dir aber Vista übel nehmen, wenn du seine Datei mit einer von XP überschreibst.
Es währe besser gewesen, wenn du das XP auf c: behalten hättest und Vista auf d: installiert hättest.
Du kannst ja noch einmal "fixboot d:" ausführen, vielleicht klappt diesmal die Reparatur des Systemstarts.