Are there any web apps which allow multiple users to chat, while preserving the chat history for all to see?
We now have our very own chat web-application! Check out http://chat.webapps.stackexchange.com.
You can use Google Talk. All chats are archived within Gmail.
Quassel IRC is not web app, but solve some problems
It is a modern, cross-platform, distributed IRC client, meaning that one (or multiple) client(s) can attach to and detach from a central core -- much like the popular combination of screen and a text-based IRC client such as WeeChat, but graphical.
It allow multiple users connect to single core each with own accout, so in core keeps all chat logs. And again it just IRC.
You can use RumbleTalk online group chat. It is HTML5 (works on mobile) and it has archive, so you can search your chat history and even export it.
RubmbleTalk lets you embed a free HTML5 online chat widget in websites, blogs, events, and Facebook pages. Choose your chat theme and talk from mobile or tablet.