(Esta resposta ignora alguns dos detalhes mais sombrios em favor de uma resposta útil, há um pouco mais do que isso)
Cada sessão XMPP tem uma 'prioridade' associada a ela e também um recurso. Quando você envia uma mensagem, você pode incluir um recurso para enviá-la ou não - se você incluir um recurso para enviá-la, ela sempre será entregue a esse recurso (cliente). Quando você não enviar a mensagem para um recurso específico, ela será entregue de acordo com algumas regras definidas pelo servidor, mas geralmente elas serão enviadas para a sessão ou sessões com a prioridade mais alta (que seu cliente pode estar configurando). para você sem você saber).
Alguns clientes são muito ruins em enviar mensagens para algum recurso e nunca parar, mesmo se você logar em outros clientes, o que eu suspeito é o que você está vendo (isto é, os clientes dos seus contatos pensam "Oh, você está lá, eu vou falar com você lá! "e nunca se preocupe em mudar isso quando você estiver offline ou mudar seus clientes).
(E sim, o Carbons (XEP-0280) mudará essas regras de roteamento, entregando a todos os clientes que "optam" por carbonos - mas acredito que você não esteja usando isso)