Did you manage to solve that problem ? I got exactly the same problem and stuck on how we could fix it.
I could solve this problem by modifying my JMS clients to close JMS connection and re-connect when:
1. a JMSException is caught when sending a message
2. object implementing ExceptionListener is notified about an error with Connection.
This made my client a little bit more complex (e.g. "reconnector" thread responsible to handle reconnection) but communication is now reliable.