Managed printers (on managed clients) are convenient, but there are bugs. The problem is the system doesn't clean up after itself. One side effect is the user has old printer configurations that were deleted from the server (this can also result in what appears as duplicate printers, but the config was updated with the same name, or deleted and recreated). Another side effect is with computer list managed printers. For example, computer lab A has printer A managed only. Computer lab B has printer B managed only. The user logs into lab A, logs out, then logs into lab B. They shouldn't see the lab A printer at this point, but they do (because they logged into lab A once upon a time, and this saved in their home folder).
Read the rest for some workarounds to these problems...
First, download these scripts. Put Login.sh and Logout.sh in a place where a non-admin user can't read them (admin doesn't need read access either; I use /private/var/root/Documents/). Use LoginWindow Manager to set these files as login and logout scripts.
Put DeleteUserPrinters.app in /Library/Scripts/Printing Scripts, and make it a login item for your workgroup. Use Dockless to make the AppleScript app invisible to the user (so it doesn't appear in Dock).
Use Apple Remote Desktop to copy out the three scripts and /private -> var -> root -> Library -> Preferences -> com.apple.loginwindow.plist to all of your clients (to enable login and logout script config). Either open ARD with Pseudo to copy out the plist, or enable root then open ARD.
That's it, you should be all set. Please share your results via a comment here or email (click my username for an email link).
Mac OS X Hints
http://hints.macworld.com/article.php?story=20060923191406303