If the system is reliant on the main device, what happens if that gets run over or destroyed? WhatsApp have no control over the fate of the device. Why wouldn't they store the messages on the server and sync from that? WhatsApp have control of the fate of their own servers, which is far more reliable, SURELY.
If I send a new message from a device, either the other devices can poll periodically for messages that I have sent, or they can use WebSockets and be notified when a new message is sent, or when the app opens it can fetch all the recent messages that I have sent from other devices. It isn't difficult with a fine grained timestamp, surely? That's what Google Talk does.
You'd only need to order my messages by timestamp to get all messages that I had sent.
It's a bit of a daft architecture if it is incapable of this basic mechanism, isn't it?
If you want a better UX there are hundreds of other options available.
This presents obvious problems with having not just a web client, but any client other than the main device, since the main device is the only store of the existing conversations. New messages sent also need to be synchronized across devices, which I presume is why it's required to keep your phone connected to the Internet. Otherwise Whatsapp would need keep conversations on their servers until they could be synced, which is very much not their model.
Details on their architecture:
https://www.youtube.com/watch?v=c12cYAUTXXs
http://highscalability.com/blog/2014/2/26/the-whatsapp-archi...