I placed a cheap USB printer on my small Seagate Goflex home NAS (firmware replaced by standard Debian Linux install) and shared it with Samba. In CUPS I set it as RAW format and Windows clients need to install a driver to print to it.

I could install drivers on the Linux machine; in fact I did for a moment but didn't test it and have since removed them.

So the question is, if I do, would windows clients still insist on rendering print jobs locally and requiring a driver? It seems complicated to get them installed into the print$ share to automatically install.

It's not a big deal, I've only a limited number of computers in my house (at least I've not filled the class C DHCP range yet ) and installing the driver-only package from the web is not an issue.

I haven't had much luck getting CUPS and SAMBA to share a printer driver.

In fact, I haven't had much luck with CUPS and printing altogether. Some things you'd consider very basic functionality, like being able to select '2' in the print job and get it to print 2 copies, are undisclosed proprietary Windows printing extensions which don't work in Samba+CUPS ( or didn't at the time I used it ).

I found it far less headache to just get a proper network printer instead of trying to share a cheap inkjet. I don't regret it for a second.

You could also use a really old laptop with XP for printer sharing and the like. Pre-wifi laptops are pretty much worthless now but could be used for such a purpose.

It seems to work fine off my Seagate Goflex system as RAW device with the windows clients needing drivers. Just a PITA for guests to have to install them first, since I guess I need to use XP Pro and Domain Controller stuff to install them on the print$ share to allow the automatic point-n-click install.

If still relevant, you can use CUPS print server without SAMBA and Windows clients still will be able to print.
In Windows, if you want to use printer you need drivers, so when you adding printer on Windows, you shall select driver that works with it and instead of port create IP port with IP address of your CUPS print server.
It worked for me when I shared printer between Solaris, Fedora and Windows.