I have done some more research on this problem.
First what I have discovered is that if you have a windows printer set-up to use the LPT1 port, and then define the PrinterComPort as LPT1 in the registry then windows will spool the output before sending it to a the printer. If there is not printer defined to use the LPT1 port then the BallotStation will print directly to the port. You can observe the difference in how long it takes to the ReportDlg to print the report (not actually how long the report takes to print.) If the print job is being spooled the ReportDlg 'prints' quickly, whereas if the print job is not being spooled it takes a much longer time to 'print'.
As for the problem being reported, that is the printer stops printing. If the print job is being spooled you will get the error message Steve reported. This is from the Windows NT Print Manager. If the print job is not being spooled you will get the message "Failed writing to printer device". In either case the printer has stopped working. It will take upto 90 seconds (the timeout value on the parallel port) before you see this error message after the printer stops printing. If you try to print again you will get nothing from the printer and a repeat of the previous message.
I have no idea what is causing the problem. The unit I was testing on failed once, and then worked correctly after a complete shutdown (just rebooting did not fix the printer). I have not tested it again. Also the unit I have has the white four pin connector on the transition board.
What I do know is that it is not caused by the application since I can print successfully from my Win NT system to an Epson dot matrix printer connected to the parallel port. Nor is the problem related to filling the printers buffer since that happens after about 2 seconds of printing any yet the hang-up did not happen until after about 40 seconds of printing.
Ian, could you organize to have someone down there do some more testing to try to track down the problem?