That sounds driver related.
Go ahead and try to run the Hp install software again and see if its able to detect the printer over the network now.
If it does not, go to your printer, right click it, properties. Advanced
tab and select new driver, or update driver. Choose have disc and pop in your HP disk.
What could have happened is, it took the driver installed on the desktop rather than the HP driver the XP machine has cached. So just grab the one off the disc.
Another thing you can do is go to www.hp.com
and download the newest drivers for your printer.
And last but not least, hook the printer up physically to the laptop. Install the print drivers (preferably the ones from HP) and confirm the printer is working directly connected via USB.
AFterwards, plug it back into the desktop that's sharing it.
The printer it just installed on XP machine will say offline or whatever. RIght click it, click printer properties. Choose ports.
Add a local port.
Type it in like this (you said it connects by IP address now)
And add that port and use it as the default port. THis will allow you to use the local drivers and force the network share.
Replace 192.168.x.x with whatever the desktop's IP address is, and replace the printersharename with the actual shared name of the printer (which you can check going to printer properties, and clicking the share tab to see the exact name).