Ivan, you uncovered a different bug, which I logged as OF-532. Thanks for reporting this.
I was wrong: although our documentation was wrong, the code was ok, wise.
So I just wanted to update this ticket 1 year later. It still doesn't work. The problem described by the OP is still happening to everyone.
You keep saying that our client is sending the full JID. Well, how do we get around this? Let's pretend that yes, it is this. Do you know of a client that would be able to forcefully send messages to the bare JIDs rather than the full JIDs?
I feel like this is an OpenFire problem. When I compose a brand new message to "email@example.com" it will simply pick out the last active session and send it there. If I manually send a message to "firstname.lastname@example.org/*" then all messages are recieved on all screens. I can spam all the clients too. But if any of those clients respond to a message, then all of the messages I send back to all 3 clients simply only go to the 1 window he just replied back on.
This can't be normal behavior and I can't go around telling people "If you want to recieve chat messages on all your devices, just remain idle at all times". This simply doesn't work and I feel like it's important to have this function working.
Does this setting really work for the Ignite Realtime team? It's hard to believe. So many people could be having so many problems.
I moved my comment to the forums
First of all, such comments are better suited in the corresponding forum's thread (linked to this ticket http://www.igniterealtime.org/community/message/193376). As they don't add anything significant to the already closed ticket. So i suggest moving the discussion there. From my understanding this system property wasn't intended to create message syncing to all connected clients no matter what. I think it is just for the initial message routing to all resources, if full JID is no provided. Not for constant routing after the initial message. It obeys XMPP specifications. Your example with 3 clients is not clear and it seems to me that To address is changing because server receives a reply from a particular resource (Pidgin client), not from a bare JID, and so it routes subsequent messages to particular resources. You can describe this example in the forum's thread, step by step maybe, so it would be easier to pinpoint when exactly the address changes. I think for your scenario to work, all your clients has to be without resources or use the same resource, but this is not possible in XMPP. XMPP is just not designed to do message syncing. And to achieve this you will have to modify the server's logic and the clients.