Another issue is that the receipt request must not be added in messages that contains an ack. So the filter should be increment to see that.
As XEP-0184 says:
5.4 Ack Messages
To prevent looping, an entity MUST NOT include a receipt request (i.e., the element) in an ack message (i.e., a message stanza that includes the element).
Just to clarify, I meant to say that I did not look at the code before replying.
Yes, the sending listeners are the wrong type of listeners, as they are meant to inform interested parties when a stanza as been sent. Also the filter should exclude messages with ack requests. Thanks for reporting SMACK-656.