One of the things I have been driven nuts by is all the DOS programs my clients still must use. As I move more of them to XP I find the issue of sharing a networked printer with a DOS program a bigger deal. We came across the solution the other day.
On the client machine first make sure you have the printer shared you want to use. Next tell the client machine to add a new printer. Make sure you tell it the printer is local and hooked to a local LPT. There should be no actual physcial printer here.
When doing this I find a generic text printer works excellent for this. Most DOS programs only do text anyway. But you can use older printers as well.
Once this pretend local printer is installed go back into the printers and go to properties for this pretend printer. Go to the Ports tab, select the Pool Ports check box and now check the port that points to your networked printer.
Now what will happen is when you tell your DOS program to print to the fictious local printer port it will instead be routed to the network printer you have selected.
I have used this tip on 4 different programs in DOS and all have worked perfect.