In certain scenarios where transactions are controlled externally, e.g. Seam (JBPM-1135), Spring (JBPM-1130) and Portal (JBPM-1289), the DeleteJobsSynchronization is invoked after the Hibernate session closes, or isn't invoked at all.
While some Spring-specific fixes have been proposed in the forum, it'd be better to find a general solution. Why was the synchronization introduced in the first place? Can it be replaced with, say, a SaveOperation?