See http://jira.jboss.com/jira/browse/JBPM-983 , and vote for it if relevant - it probably is.
Are you using the JobExecutor?
It may help your particular case to mark a node on each fork with "asynchronous=exclusive". This helps in some simple cases. But it really just changes the odds in a race-condition situation - it's not a sure fix.