After struggling with this for a long time (about a month) I found out that basically lpr/CUPS some kind of brain damaged logic that causes it to fail with networked printers. The problem is the whole "disabled/enabled" printer paradigm which causes a printer to become unusable as soon as lpr becomes confused, which is bound to happen at some point. Since a user has to have super user privileges to diagnose problems like these, lpr is essentially unusable for anyone in a workgroup environment with non-privileged users.
The way I solved my problem was to write a short program in C that connects to the printer's IP address on port 9100, opens the PCL file to print readonly, copies the file to the connection socket, then closes the connection and the file. This works flawlessly every time for me. So, basically use whatever programming capability you have to do this if you want to print a raw file. You could probably even do it in bash or csh.