With the help of Sitecore support and through some decompiling and adding additional logging of the ECM code, we have determined that the problem is that the custom MTA was stripping out the original headers that contained the references to the Sitecore campaignID.
When the campaignID headers are present, ECM works great and has no problem pulling the bounce messages back into Sitecore.