Well this is perhaps a tad unfair, brother. I know how my code works.
If I comment out the 'require MIME::Lite' line then the errors don't happen.
So I deduce that either MIME::Lite has a bug (extremely unlikely) or that my environment has some problem (pretty likely). My code has numerous problems, I have no doubt, but I don't think that these errors are caused by one of them.