Hi Maciej,
Sorry for the delay, I've been really busy.
This is an interesting idea and I believe that internally it could work like that. But assuming there is a way you can always deciede wheter to set this flag or not, I think the engine should be responsible for doing that - having to "hint" it if the concurrent executions have to be ended or not does not seem to be the way it should work.
Basically the question is that if there is any algorithm you can use to figure out whether the concurrent executions should be ended or not. I believe the answer is yes: my understanding is that this error happens if you have more join nodes than fork nodes on the path of the current execution. In that case jBPM could simply traverse the graph of the execution to check the number of fork and join nodes hit so far and set this flag accordingly which then could drive the decision whether the concurrent executions are to be ended or not.
Let me know what you think about this approach