Uwe, your design is unnecessarily complex because you are trying to incorporate jBPM internals which are not meant for external usage. I would model the process as follows.
<process-definition name="callback">
<start-state>
<transition to="send-mail" />
</start-state>
<mail-node name="send-mail">
<transition to="wait-for-callback" />
</mail-node>
<state name="wait-for-callback" />
</process-definition>
Once the user performs the work indicated in the email, application B should send a plain message to a queue with a long property set to the token ID. In addition you should code a simple MDB that reads this message, loads the referenced token and signals it. That's all. You should not try to involve JmsMessageServiceFactory.