Well, my requirement is exactly the same ! Just that one node (and not all of them) runs a task. So instead of setting up Quartz clustering, we let the Seam/Quartz scheduling fire up task on each node, but the "first node" to get there locks some cache (which is replicated sync. with pessimistic locking), so that the other ones cannot acquire the lock.
It's not that elegant, but this remove the need of clustering quartz and make the needs for configuration to the bare minimal (more/less just ispn inside wildfly needs to be configured). The difference between a test env and a pre prod and prod env is only that ISPN is distributed (and the mentioned cache replicated).
Implementation wide, I think the customer end up having a static method being call on all Quartz classes, but I guess this could be placed in somekind of interceptor.
I can ask the developer involved at the customer to discuss this with you if you want.