It's a bit of a chicken-and-egg situation. Sure, a better IMAP can be written. But it needs a corresponding client to use it. That's how IMAP started: UW-IMAP and PINE were written by the same person. Whether someone today was to write and promote a whole new protocol or "fix" the exisint one, they would need buy-in from popular clients.
As Drew has discovered, "best practices" of using an IMAP server has shifted in some ways from what the originator intended. That's what happens in the real world. The author of Courier is aware of this, but won't violate the RFC as that is still the reference point everyone codes to.
I've used UW-IMAP, by the way, and a sorry excuse for a server it is. It's the same author of the "c-client" library that is popularly used to be an IMAP client; and it's awful to program against, as well.
Wade.