Even after the upgrade to BPMS 6.4.9 which includes the BPMS-5115 fix, we see jobs getting executed twice. The problem is that the native query seems to release the lock too early, so that a second executor thread can also retrieve the same job.
To fix this, it is enough to change the native query to also include the 'status' field in the outer query (see fixed sql).