lprm never terminates

I´ve set up a print server that provides printing services to clients via
lpd and SAMBA. The server prints to remote printers on the LAN, most of
them connected via Intel Netport print managers, while some of the printers
have their own built-in print manager.

This works very nice so far, but removing jobs from the queue works only
half-way: When starting lprm to remove a job, the job is actually dequeud,
but lprm never terminates.

When running lprm from the console, it gives output that the job was
dequeued, but lprm just keeps running and nothing happens any more. I have
to kill it with CTRL-C, but MOTT this blocks printing, as the lpd process
handling the job (or whatever it does) keeps running. In that case, I have
to stop lpd and kill the remaining lpd process before I can restart lpd.

When clients try to remove jobs via SAMBA, the behaviour is likewise: The
lprm process is started, but never terminates, and printing is blocked. As
above, I have to kill the lprm and lpd processes and to restart lpd.

Thus, if lprm would terminate as it should, removing jobs from the client
side would probably work ... I´ve worked around that by setting ´lprm
command = /bin/false´ in smb.conf; the result is that clients display a
message that they´re lacking the rights to alter the job. This prevents
printing from being blocked, but it would be better if clients could remove
jobs ...

Google didn´t give any good hints on the topic --- why is it that lprm
doesn´t terminate?