Here's a stab in the dark, but if you are encountering these errors on Windows 2000 workstations (especially those boxes that run 16-bit apps and have locally attached HP printers) it might be similar to what I finally figured out. Our printing errors weren't confined to Crystal Reports, as switching to native VB printing still resulted in sporadic errors.
Below is an excerpt of what I posted to an HP support forum. Just an FYI...
Just wanted to let folks know about issues my company has seen with the HPDCMON.DLL process conflicting with the NTVDM/WOW32 process under Windows 2000.
A 16-bit legacy app that runs in our environment has to load under the NTVDM/WOW32 process in order to function on our Windows 2000 workstations. Occasionally this process loads right next to the memory address block where the Win32 Language Monitor for Direct Connect HP Printers process is loaded (aka HPDCMON.DLL).
This situation has caused sporadic printing issues where users receive the message 'There was an error printing the document ***document name*** to LPT1:. Do you want to retry or cancel?' The users have to totally reboot to recover local printing functionality. They don't run into these issues when the 16-bit app hasn't been initially loaded at all.
Since the NTVDM/WOW process stays loaded even after the 16-bit app has been exited there were sporadic printing issues over time no matter if the 16-bit app was actually visible or not. This made it a bit tough to narrow down.
The only way that we were able to work around the issue was to disable the Win32 Language Monitor for Direct Connect HP Printers module.
Details on these points can be found in two Microsoft KB articles -->
and
Hope this can help anyone else out there who is in the same situation as I was. It took about a month to figure out all of this from trial and error!