Also for English speaking users this is the solution:
This phenomenon comes from protocol evolution in which Online status got slightly adjusted to today's users needs. Current official clients report "permanent online" status to central servers and these keep the user's session online indefinitely till they manually and explicitly logoff using such command in app's menu. Otherwise mobile user with official app can lose connection and server still report him/her online. In the meantime this user's friends can send him/her messages. Whenever mobile app regains connection it PULLS the messages from servers (contrary to past). When the user connects using Miranda later and there are messages stored on servers pending, the ICQ.DLL protocol library doesn't pull them and just waits for PUSH just like in the old days. The thing is that servers don't push if the user has some active session. This seems like message loss but fortunatelly just for Miranda. Logging into official client (e.g. web based one) reveals all messages.
Anyway, if you get trapped in server session, then please follow this procedure to stop confusing your friends:
- Go to ICQ.COM website
- login to the website with your UIN and password (don't login to web-based ICQ client!)
- click on your logged user's nickname and follow My Profile -> Sessions list (website's right column, link)
- click on END ALL SESSIONS
- logout from ICQ.COM website
Enjoy your traditional Online/offline Miranda ICQ statuses just like in the old days. And don't forget: whenever you use official client for mobile OSes, don't forget to logoff properly after your chat session is over.