Well, since you're a developer and are working from source, can you take a look at Email.cs and see how your custom implementation differs? It's a bit convoluted in there, but unless you're running in full trust and have overridden Web.config to use DotNetOpenMail, it looks like the mail sending paths all end up at:
public static bool Send(
SmtpSettings smtpSettings,
string from,
string replyTo,
string to,
string cc,
string bcc,
string subject,
string messageBody,
bool html,
string priority,
string[] attachmentPaths,
string[] attachmentNames)
Within that method, it's using delivered .NET classes for the mail (System.Net.Mail.MailMessage, sent by System.Net.Mail.SmtpClient). According to code examples I've found on the web, the ReplyTo address handling looks right to me.
The bonus is that if you can figure out what needs to change in the mojoPortal Email class to fix the issue you're seeing, then you won't have to maintain your own custom email library and can just call the mojoPortal delivered versions.
Thanks!
Jamie