Infatti k.b, FILTER_VALIDATE_EMAIL è sicuramenente la più indicata per validare email address, ma forse ti sei dimenticato che è stata introdotta con la vers. di PHP 5.2 ed il server in questione purtroppo gira con la vers. PHP 5.1.6. questo l'autore della classe PHPmailer ovviamente lo sapeva e come puoi notare (func della classe sotto riportato) l'utilizza.

Tra l'altro come potete notare in caso non fosse presente XLI.Filter Functions ( in caso appunto di vers. precedente ) cerca di validarlo con l'espressione regolare tenendo già conto dell'apostofo (singolo apice) nella prima parte dell'indirizzo, per capirci prima della @ [\\']

Personalmente ho l'impressione che il problema sia altrove, continuo l'analisi il primo che riesce a capire per cortesia ci faccia sapere.

codice:
public static function ValidateAddress($address) {
    if (function_exists('filter_var')) { //Introduced in PHP 5.2
      if(filter_var($address, FILTER_VALIDATE_EMAIL) === FALSE) {
        return false;
      } else {
        return true;
      }
    } else {
      return preg_match('/^(?:[\w\!\#\$\%\&\\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/', $address);
    }
  }

.