So a few things I have found:
If you have a 1:1 message:ack ratio (synchronous), you should have the ‘outbound only’ checkbox checked and everything routed via “route replies”. You should also have the “await replies” checkbox checked, with no proc (if you’re not specifically handling them) This treats all messages as a reply message. Anything that is NOT sent as a reply is thrown away and ignored.
If you do NOT have a 1:1 message:ack ratio (asynchronous) , you essentially do the opposite. You uncheck await replies and outbound only, and you route them via the “route message” tab (not the replies) and treat them as a data message. This ensures that all messages that are sent back in are routed.
I have a feeling with the way you’re describing it, it is as Jim says and you’re getting errant ACKS (delayed or whatnot), and you want option 1. That /should/ resolve the issue.