Como te lo he dicho yo funciona.
Soft necesario:
Bootit: http://bootit-next-generation.softonic.com/ie/18871
Te creas dos particiones
Particion A: WinXP
Particion B: WinVista
Procedes a instalar WinXP en particion A. Instalado, pones drivers.
Creas el disquet de bootit o en caso de que no tengas disquet creas la .iso y la grabas en un cd.
Inicias con el disquet y en partition tools le das a HIDE en la particion de WinXP (particion A).
Reinicias pc y arrancas desde el disco de WinVista, formateas la particion B y instalas Vista.
Al terminar, vuelve a bootit, a partition tools y dale a UNHIDE en Particion A.
Reinicias y te arrancara WinVista lo mas seguro. Entras en la Particion A mediante Vista y copias lo que te pone en C:\boot.ini debajo de operative systems
algo como esto
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP" /fastdetect
y lo pegas en el boot.ini de Winvista debajo de operative systems.
Y ya esta.
Si por si las moscas algun dia quieres cambiar la particion activa pues simplemente copia tambien la linea del boot.ini del vista en la del winxp y tema solucionado