Message ids are monotonically increasing, but not necessarily consecutive. You may need to renumber when you hit the 32-bit ceiling, but that is much less frequent than what you describe. Worst case scenario, you can disconnect unresponsive clients when renumbering, clients behave well on disconnects.
This invalidates your conclusions.
> (1) You can't have concurrent mailbox access because it might mess up MSNs reified to disk
You can. Renumbering is not frequent.
> (3) you can't have connections live too long because they passively eat up RAM with queued updates and a stored MSN list
My dovecot IMAP processes use an average of 5MB reserved memory, of which 4MB is shared memory, so a server with 100GB memory can hold close to 100k connections.
> (8) because opening a new session can be heavy.
Monitoring tells me that on loaded production servers, session open + select + list + logout occurs comfortably in less than 100ms. That's not heavy.
Dovecot starts to fail on mailboxes with about a million messages. It's a limit I can live with. Users have learned to archive messages by date.