No me he detenido a revisar tu código .. realmente por mi parte uso la classe:
PHP Mailer
http://phpmailer.sourceforge.net
Es bastante común y buen sustituto a "mail()" de PHP .. no sólo incorpora funcionalidad para enviar archivos adjuntos en tus e-mails generados .. sino otras cosas más interesantes como por ejemplo: autentificación SMTP .. envio directo por tus servidores SMTP (y no depender de la configuración de PHP al respecto) .. etc .. etc ...
Te recomiendo encarecidamente que la uses.
Un saludo,