It tickles me when I see threads like this. First of all, hooking the printer up to the router is not necessary. ANY printer will work, especially a USB one. Also, it does not matter what brand, color, model etc. the printer is, the general process is almost always the same. Go ahead and hook up the printer directly to the XP machine via USB and since your printer works that way we can continue. I know this is an old thread but it will help anyone trying to do this who may find this site, since a true solution was never posted and this is the threat I came across when searching Google. The process is a bit detailed, but basically:
1. Make sure Printer Sharing is enabled on your Vista machine. To do this, go to Control Panel -> Network and Sharing Center -> right click on the wireless network connection and go to 'Properties' -> Make sure under 'Printer Sharing' on the bottom half of the window is set to 'On'.
2. Make sure Printer Sharing is enabled on the XP machine. To do this, go to Start -> Control Panel -> Network Connections -> right click Wireless Connection and go to 'Properties' -> Make sure 'File and Printer Sharing' is checked.
3. Make sure the printer on the XP machine is being shared. To do this, go to Control Panel ->Printers and Faxes -> right click the printer to share and go to 'Properties' -> click the 'Sharing' tab -> click the dot next to 'Share this printer' and give it a name. Then click 'OK'.
4. Make sure both computers can get online, then make sure they are on the same workgroup. On the XP machine, right click 'My Computer' and then 'Properties'. Take note of the full computer name, you'll need this. On the Vista machine, click the start button then right click 'Computer' and go to 'Properties'. Take note of the computer name, you'll need that too. On both computers look where it says 'Workgroup' and make sure they are the same. If not then you'll need to change it. On the Vista machine just click 'Change Settings', on the XP machine click 'Change...' and make them both the same.
5. Make sure firewalls on both computers are configured to allow printer Sharing, if applicable. This varies from firewall to firewall. If you are not sure, then don't worry about this step.
6. Add the printer on the Vista machine by going to Start -> Control Panel -> Printers, then click 'Add a Printer' at the top. Believe or not, click "Add a local printer" (I know you want to add a network printer but that way it doesn't work). Click "Create a new port" - "Local Port" - "Next". In the next box you have to enter a port name like this: \\PC name\Printer name where "PC name" is the network name of the XP machine (step 4) and "Printer name" is the network name of that printer (step 3). Be careful with the names. Check in your XP PC "Control Panel" - "Printers and faxes" - "your printer" - right click - "share" - "share resources name" to find it again.
7. Choose the manufacturer and printer model of the printer you are adding. If you have a password on your user account you may have to enter the Windows username and password from the XP machine when adding it. Now the printer will be added and you can print a test page or print something to test it.
Hope this works for you! I have done this on several PCs and it work out just fine without a hitch. I feel sorry for people that go online and have to go through several pages of unhelpful advice and spend weeks, sometimes months, trying to get something to work, so here you go, consider it a freebie. :D