What I mean by the local SMTP is if the mail server is running on the same domain as your hosted account. If it is then leaving it blank may help but if you are getting the same result then this is probably not the case. You should check with your host to see if there are any entries for the SMTP server from your scripts, there should be some info about any failed attempts.
I don't think the changes you made should affect the mail from being sent, but the new encoding you are using may have some effect. Have you tried it with the encoding left to UTF-8? Please check the logs and try this with UTF-8, if you cannot get it working we can move on to some other debugging techniques.