Ten en cuenta que donde inicializas algunas variables estás utilizando i, que no está inicializada y puede contener basura.
Código Delphi
[-]
romp := Trim(Copy(s1[0], 36, 8)); anombre := Trim(Copy(s1[i], 85, 60)); aautoriz := Trim(Copy(s1[i], 36, 8)); afecha := Trim(Copy(s1[i], 10, 8));
Creo que deberías reemplazar la variable i por un 0 en todas estas líneas.