Graças a dica de um amigo, achei o problema e com outra dica a solução. Como pensei, do jeito que esta o segundo loop só vai ser executad uma vez pois a partir deste instante o segundo arquivo sempre vai estar no final e não haverá nova comparação. A solução encontrada foi: Dim File1(),File2()
i = 0
j = 0
Set File = CreateObject("Scripting.FileSystemObject")
Set arquivo1 = File.OpenTextFile(Server.MapPath(Server.MapPath("ListaDeEmaiAlfal.csv"), 1)
Set arquivo2 = File.OpenTextFile(Server.MapPath(Server.MapPath("relatorio_email_28012009.csv), 1)
arquivo3 = Server.MapPath("comparado.csv")
Do Until arquivo1.AtEndOfStream
Redim Preserve File1(i)
File1(i) = arquivo1.ReadLine
i = i + 1
Loop
Do Until arquivo2.AtEndOfStream
Redim Preserve File2(j)
File2(j) = arquivo2.ReadLine
j = j + 1
Loop
arquivo1.Close
arquivo2.Close
For l = Lbound(File1) to UBound(File1) Step 1
SeparaLinha1 = split(File1(l),";")
For m = Lbound(File2) to UBound(File2) Step 1
SeparaLinha2 = split(arrFile2(m),";")
if Separalinha1(0) = Separalinha2(0) Then
Set NewFile = File.OpenTextFile(arquivo3, 8, True, 0)
NewFile.WriteLine File1(l)
NewFile.Close
End if
Next
Next E Funcionou