When a client logs in, it is true that a server doesn't have to send messages back, but that's the goal of XEP-0313.
http://stackoverflow.com/questions/25982426/persistent-xmpp-...
There are implementations for servers, e.g https://code.google.com/p/prosody-modules/wiki/mod_mam_muc, but I have yet to see a client reliably supporting this.
But the benefit of XMPP is that a new extension can be proposed that does this if enough people want such a feature. Personally I would argue that a better approach would be to make Public MUC logs accessible and searchable via a web interface and to have the client log chats going forward from when they join (with offline messaging from the server so you don't have to be online the whole time).