Hi Jas,
This exception is caused by Optimistic Lock. jBPM used a version column to prevent concurrent conflict. So maybe there are more than one thread were processing the Timer. After the first one update the timer, the other will get the StaleObjectStateException.
But I can't reproduce this Exception. I use jBPM-4.3 and hsqldb. The project is in the attach.