mwilliams Thanks for the response.
The biggest problem in my opinion with what is happening for new objects is not that autosynthesis is taking place, or even that it can't be turned off, but rather that the synthesized part is then stored in the database. With existing/imported plain-text-only or HTML-only objects, the synthesized part is ephemeral: it is generated in RAM, transmitted to the client, and then thrown away. It does not make sense to me that new objects would be treated differently. If you simply stored the new objects in the database as-received/as-is, then the regular exmdb_body_autosynthesis setting would apply exactly the same to those as they do to existing objects. So I'm seeing zero downside to completely removing the code that I commented out, even if I wanted to have autosynthesis enabled.
Anyway, as far as the concept of autosynthesis itself and the reasons behind it, as you say, if Exchange Server is "sanitizing" objects in order to work around Outlook client-side bugs, it isn't doing so by synthesizing an HTML version out of thin air (at least in the case of plain-text-only messages)...this is clear because when Outlook encounters plain-text-only messages while talking to real Exchange Server, there is no View Source option (because there is no "source" to view), and it also honors the font/formatting options I've specified for viewing and editing plain-text messages. When I have autosynthesis enabled in Gromox, the HTML renderer on the Outlook client is engaged, and then my formatting choices for plain-text messages are not honored.