I hope you can still convince your family, because you're right in my opinion.
I don't know if this will help, but I have setup a Gentoo Linux server with a shared printer.
It is configured via samba.
I understand that you Mac has Cups too, so I guess it should be able to get things running.
Here's what I did:
I followed the Howto from Gentoo:
Just read it carefully, you can probably extract your problem.
The thing is you have to configure CUPS and foomaticdb properly at you server.
For hp you might need the hpijs drivers. It's all in the howto
If you can print a proper testpage from your server, that should be fine.
I will explain how I completed the rest.
To make printing work from XP I added something like this to /etc/samba/smb.conf (which I found after some googling):
That should make the printer usable for Windows.
Like the howto says: you can just add a printer in window$ then. Note that you have to select your servers name or IP and then /quename.
So something like \\tux\HP
Keep in mind that if your samba is configured with user authentication, you should login before you can print.
You have to use the driver for your printer in win, from the driver cd or win itself.
printing a testpage should work now.
To make a Linux client work, go here http://127.0.0.1:631
(after you installed and started cups).
Add a printer. Name it and choose for type windows samba.
path: \\tux\HP . Incase you shoul login: smb:\\user:password@tux\HP .
Note that the servername, here tux, could also be exchanged by a domain.
It works on my work too (where we have some win2k AD setup).
For my printer I figured out I had to use raw mode to print.
I maybe incomplete in some ways, but combining this with the gentoo howto should propably get you going.
Hope this helps.