Cita: El mensaje de error es cuando corro solo el código sin el INSERT, osea solo para enviar el correo. :/
Pues lo siento mucho por decirlo así pero es lo que es: una tontería.
No hay razón en el mundo para que, comentando o quitando una linea de código altere todo el comportamiento previo del script.
¿Por qué?
Porque el if() se evalúa primero, entonces siempre será igual sin importar lo que coloques dentro del mismo bloque, aún así sean muchas o pocas operaciones.
¿Por que no mejor depurar las variables que recibes al momento del error?
¿Vienen ahí tus datos o no?
Cita: Si ya lo intente Ser_Gio, incluso sin el IF, sin el IF no lo envía tampoco.
¿Ya leíste el manual de mail() o no?
Te recuerdo que PHP no es un servidor de correo, así que si tu sistema no cuenta con servicio de SMTP propiamente configurado invocar mail() no sirve de nada.