After a couple hours of messing around with the environment I was able to get the build in 7.0.3 (what my server is currently running) to correctly build the dll. Once that was worked out I found an example of a email that was sending that was correctly pulling the portal localized settings and used code from it to get this working. If you replace the above code in the CoreMessagingScheduler.cs file with the following code and rebuild, you can get the portal to send the portal localized info.
PortalSettings ps = new PortalSettings(messageDetails.PortalID);
var subject = Localize.GetSystemMessage(_uController.GetUser(messageDetails.PortalID, messageDetails.SenderUserID).Profile.PreferredLocale,
ps,
"EMAIL_SUBJECT_FORMAT",
_uController.GetUser(messageDetails.PortalID, messageDetails.SenderUserID),
Localize.GlobalResourceFile,
null,
"",
ps.AdministratorId);
var body = Localize.GetSystemMessage( _uController.GetUser(messageDetails.PortalID, messageDetails.SenderUserID).Profile.PreferredLocale,
ps,
"EMAIL_BODY_FORMAT",
_uController.GetUser(messageDetails.PortalID, messageDetails.SenderUserID),
Localize.GlobalResourceFile,
null,
"",
ps.AdministratorId);
Hopefully this will help someone else. I am sure it can be made to work a lot better, but for now it is able to use tokens (at least the ones I need) and pulls for each portal.