Как подсчитать количество строк в текстовом файле?
Приведенный код не понятно для чего, а подсчитать строки можно так (если их не много)

var LinesCount: Integer;
var List: TStringList;
try
  List.LoadFromFile('filename.txt');
  LinesCount := List.Count;
finally
  List.Free;
end;
writeln(LinesCount);

или так

writeln(Length(TFile.ReadAllLines('filename.txt')))

или так (можно для большого файла, если длина одной строки не огромная)

var LinesCount := 0;
with TFile.OpenText('filename.text') do
try
  while not EndOfStream do begin ReadLine; Inc(LinesCount); end;
finally
  Free;
end;
Writeln(LinesCount);
У тебя проблема в самой функции чтения файла, считать количество строк там не надо, она их считывает по порядку. 
Ищи ошибку в ней, начиная с того, что у тебя count уже не инициализированный с самого начала и непонятно зачем после каждой строки ты закрываешь файл и потом открываешь снова, возможно из-за этого снова читаешь ту же строку