Prueba con algo como esto, debería ser un poco mas rápido:
Código Delphi
[-]
var
i: integer;
Str: String;
Source, Dest: TextFile;
begin
AssignFile(Source,'C:\Origen.txt');
{$I-}
Reset(Source);
{$I+}
if IOResult = 0 then
begin
AssignFile(Dest,'C:\Destino.txt');
{$I-}
Rewrite(Dest);
{$I+}
if IOResult = 0 then
begin
while not Eof(Source) do
begin
Readln(Source,Str);
i:= Pos('EMAIL',Uppercase(Str));
if i > 0 then
Writeln(Dest,Copy(Str,i,MAXINT));
end;
CloseFile(Dest);
end;
CloseFile(Source);
end;
end;