Group roster missing member

My Spark roster including the jive group was missing Bill: he was online, and I could send him a message explicitly, but he wasn’‘t listed in either the online or offline group. I was unable to locate an iq:roster query packet in the debugger (too old, probably), so it’'s hard to say how this happened. Logging out and back in resolved the problem, but this this seems like a poor resolution for a potential problem I just happened to notice since I wanted to send Bill a message. In general, how often should users log out an log back in? Is there a recommended max login time?