|I used to have the same problem as you! The problem is that Vista's poor design, but there's still a way to get around this.|
First go to the Printers folder, then go to add a Printer.
Now pick Local Printer and click the "Create a new Port" option and pick "Local Port" from the drop down menu.
Now for the port name enter "\\" (without quotes) followed by your XP's Computer name, followed by another "\" (without quotes) then the printer's share name.
For example, if your XP Computer's name is WinXP and your Pinter's share name is HPPrinter21 then you would enter \\WinXP\HPPrinter21 for the port.
Now you just pick the correct driver for your printer, print a test page and you're done!