Hello wslade,
Yes, we solved the problem - we put the workflow engine and the application (JMS message sender) in the same transaction. The message retriever is still working in a separate transaction.
That was what we needed 🙂
My example was only to point you where to look for potential problems. I didn't claimed that our situation is close to yours.
Here is another example (with another workflow engine but it doesn't matter): One and the same application is deployed on several servers (a couple of development workstations, several levels of test, etc.). In short: The user requests a report generation and the GUI waits up to one minute to display the result. If the report is not received within one minute the application displays a message that the result will be send by an e-mail. On the request a workflow process instance is created. The process sends a message, the application generates a report and notifies the process for the end of the generation. If more than a minute is passed after the message sending, the process initiates sending the result by an e-mail.
Sometimes, on some server all reports started to deliver by e-mail, despite the report generation itself took a couple of seconds. Our investigation demonstrated that in these rare cases JMS messages were processed (consumed) a couple of minutes (sometimes even five minutes) after their issuing. The application was not loaded, there were no other messages in the queue. Sometimes this behavior survived even a server restart, but later it fixes "automagically" - just a ghost in the system.
With this example I'm only demonstrating that you can not rely on time frames in asynchronous (JMS) communications.
I think that you should re-design your process definition considering all the aspects - not only of the business process but also the implementation (transactions, asynch. communication, etc.). If you need more help on this you should describe your requirements as thorough as possible. Otherwise anyone here is just guessing what you are aiming at and points you to different directions according to his/her guesses (actually fantasies, based on your pieces of information).