|Think about Loose Coupling|
On my wish list:
"Proper" threading by In-Reply-To: header and message IDs (or, if In-Reply-To: is missing, by References: header), i.e. not only pseudo-threading by subject (though an optional fallback to the latter would be useful, in case the other info is not available (some people do reply to mails by composing a new message...).
Then, in addition to sorting-by-thread, a way to specify an auxiliary sort, for example by date, or date-of-most-recent-message-in-thread. IOW, I want to be able to configure by what the threads themselves are ordered by. This would allow me to have the most relevant stuff in a folder within my immediate field of view.
For example, in mutt (a MUA with a purely text-based UI), I can easily achieve this by configuring set sort=threads and set sort_aux=last-date-received. I have yet to find this functionality in any webmail application (though I, admittedly, haven't tried all of them).
Of course, I also want to fold/unfold (or open/close, show/hide... whatever) individual threads, and be able to apply operations like delete, save, move, etc. to entire threads...
Another thing - though probably not all that important in the CRM environment - would be proper handling of replies to mailing lists. Essentially that means being able to easily reply to the list-address only (without having to delete addresses of original author and any Cc:s), while honoring Mail-Followup-To: header.
And, while we're at it: decent response times (so I don't have to wait 5+ secs after each and every click!).
What, too difficult to implement? You asked for my Dream WebMail App, so there you are. No complaints please! :)