For my part I wrote a node.js server application that acts as a notification central: myhub (https://github.com/PaulFreund/myhub).
It captures events from different sources (xmpp, irc, mail, rss) and makes them accessible via Email summarys, RSS feeds or a webinterface which is only implemented for a Kindle interface right now.
That way I get a mail every five minutes if I got messages and my phone will notify me about that.
I wish more Jabber servers would support http://xmpp.org/extensions/xep-0136.html and http://xmpp.org/extensions/xep-0313.html
On my XMPP server (prosody) I modified the message module so it sends all messages to all connected clients and I never miss a message (this solves the "in" part). Additional I installed http://xmpp.org/extensions/xep-0280.html which unfortunately is not very widespread in clients but I use it with myhub (mentioned above) so I get all messages ( in and out ) for logging.
For the future I'm planning to build a server that will render all these problems obsolte but until then we have to find ways around it.
If you need further ideas how to solve your problem I'd be glad to help :)