It is an issue with Netware clients, Zen, and older Novell Windows client software. I have not seen it in pure Windows.
But in any case, there are ways to do this in the logon script to ensure it is set each time correctly.
1. Script it:
Set WshNetwork = CreateObject("WScript.Network")
WshNetwork.AddwindowsPrinterConnection "\\Print_Server\Printer"
\\Print_Server = Change as appropriate
\printer = the printer sharename to become the default
WshNetwork.SetDefaultPrinter "\\Print_Server\Printer"
********* end of script
\\Print_Server = Change as appropriate to the sharing server
\printer = the printer sharename to become the default
Copy/paste the above in notepad, make the name changes, and save as default_printer.vbs. In the logon script reference: cscript default_printer.vbs
2. You can use PrintUI:
rundll32 printui.dll,PrintUIEntry /in /n \\Printer_server\Printer
rundll32 printui.dll,PrintUIEntry /in /n \\server\Printer /y
****************
Add the lines directly into the logon script, changing Printer_Server and Printer names as appropriate. The "/y" parameter specifies the default printer.
3. For all users of a machine (good on stand-alone machines):
PrintUI works great on multi-user stand alone workstations as well. See Bruce Sanderson, MVP's site: