Years ago I was archiving terabytes of email to a compressed mysql db. Since there is a great deal of duplication when dealing with email, this seemed like a good solution at the time. I became frustrated with MIME::Parser for several
reasons, including the one mentioned in your post. This is probably because of my limited knowledge of perl.
I'm ashamed to say that I ended up using python. And found email parsing a bit less cryptic.