We have this somewhat old HP 2430 printer, which isn't really that old, but it's old enough that there are different drivers for XP/2000 and Windows 7 x64, and Win7 users are supposed to use in-OS or Windows Update printer drivers. It probably works fine if you're plugging in via USB, because plug-n-play kicks in, but it doesn't if you're sharing via a server.
Here's how I got it working.
First, download the HP Universal Printer Drivers, both the 32 bit and 64 bit for Windows 7. The 32 bitter will work on Server 2003 running at 32 bits.
Unpack them to folders, and then, on the server, go into the 32 bit driver's folder and run install.exe. (I'm assuming you're running and old 32-bit Windows Server.) The installer will give you the option to set it up as a traditional or universal driver -- pick traditional, and for the port, either create a new one (if it's a new printer), or (more likely) re-used the printer's old IP_x.x.x.x port. Enable sharing on that printer. Then, go into the printer's Properties, and click the Sharing tab.
Click on Additional Drivers... at the bottom. Check off 64 bit, then click OK. A dialog box shows up to ask for the driver files. Go to the folder where the drivers were unpacked, and find the 64 bit drivers.
You should now be able to install the printer into your Windows 7 (64 bit) client by going to the server's UNC path, and double clicking the printer's icon.
If you're running a 64 bit OS, and need to serve drivers to 32 bit clients, you do the same thing but s/32/64/. You install the 64 bit drivers on the server, and specify the 32 bit driver as the additional driver.
If you're running a Linux Samba print server... read the Samba docs. It's more of a hassle.