According to the JMS Spec (section 4.4.10 Message Order) only the order of messages sent from a session to a destination is guaranteed (and even then with some caveats).
This means:
- the order of two messages sent from the same session to two different destinations is not defined
- the order of two messages sent from two different sessions to the same destination is not defined
- the order of two messages sent from two different sessions to two different destinations is not defined.
Only the order of two messages sent from one session to the same destination is defined.
Note that it's possible that a given JMS implementation will usually deliver items in the (global) order in which they are produced. But you should not rely on this in any way, since it's basically a "best effort" thing: if they can manage it, it's usually better. If they can't, they are still well within the specification and your application must be able to handle that.
tl;dr Yes, your colleague is correct. Note again that even the guarantee in the one-session/one-destination case is not very strong, particularly if different message options are involved (see the linked PDF for details).