Ah, I have tested it with JBother and i think i see the problem. JBother (based on Smack) doesnt show one contact in more than one group. Instead it removes contact from first group and shows it in that group which contact was added to last.
E.g. Exodus is showing everything correctly. So Server part is doing well. So it have to be a Smack issue.
I tried to reproduce this problem using Smack and I think that this might be a JBother issue rather than a Smack issue. You may want to contact Adam Olsen (the JBother developer) about this problem.
ok, i will add this issue to a list of questions i have about JBother huh, just cant find enough free time to continue with clients new versions testing.