Solution one:
remove pause capability unless the agent is dispositioning a call.
Solution two:
"delay" pausing THE LAST AVAILABLE AGENT until the call queue has cleared out? (and popping up a "pause initiated, please stand by for clearing" or something similar). This would require some training for "old users", but new ones could be initiated in the "that message means you can't leave yet, wait for the calls to clear out, it will tell you when they have". Of course, if another agent becomes available, they get released and when all the calls are gone they get released.
Now all we need is a client to pay for "coding" of this