Muchachos, muchachos... Tanto lío para validar un mail...
Porque mejor no valernos de expresiones regulares, no? En C# no hay q instalar ninguna libreria de terceros para el uso de éstas expresiones... En delphi yo utilizo RegExpr, porque desconozco si existe alguna función nativa del lenguaje...
Código Delphi
[-]
uses RegExpr;
procedure TForm1.Button1Click(Sender: TObject);
begin
if not ExecRegExpr('[\w\d\-\.]+@[\w\d\-]+(\.[\w\d\-]+)+',
Edit1.Text) then begin
ShowMessage('La dirección de email no es válida');
Edit1.SetFocus;
end else
ShowMessage('La dirección de email es válida');
end;
Les dejo el enlace