I've looked at the job histories, and it appears that the callbacks worked properly, so there's no race condition regarding the timing of the callbacks.
It is possible that there is an issue regarding the timing of the job getting queued after the unblock, and using qbshove was the correct action to take. I've passed along your case to the developers, but I would like to know what version of the Supervisor you're running?