For jBPM this is nothing more than a 'reassign' since it has no real reassign. So if you want this to be prevented and use the Seam jBPM annotations, it should be 'fixed' in those by checking if it already is assigned or not. If you do not use these, you can do the check yourself. Personally, I did not use the seam annotations for jBPM because they only provided 30% of what I needed. I did everything in code.
Thinking about this though, a new jBPM 4 set of annotations would be cool. Maybe I should start working one day (if I find the time or someone pays me ;-))