Local testing shows Quartz.unscheduleJob is more reliable than Quartz.deleteJob (fixes the failing UTs, but still diagnosing the exact cause). Note this will also delete the orphaned job because we have a 1:1 mapping between job and trigger.
Enabling acquireTriggersWithinLock fixes some non-fatal NPEs seen in the UT logs where the Quartz thread asynchronously selects a trigger, but before it can access the job details the owning job is deleted. Note that this setting used to be the default in Quartz 1.6.3