I have tested the problem on Delphi 2009 console applications. Code like this
var
  F: Text;
  A: array[0..99] of Integer;
  I, J: Integer;
begin
  Assign(F, 'test.txt');
  Reset(F);
  I:= -1;
  while not EOF(F) do begin
    Inc(I);
    Read(F, A[I]);
  end;
  for J:= 0 to I do write(A[J], ' ');
  Close(F);
  writeln;
  readln;
end.
works exactly as you have written. It can be improved using SeekEOLN function that skips all whitespace characters; the next code does not produce wrong additional zero:
var
  F: Text;
  A: array[0..99] of Integer;
  I, J: Integer;
begin
  Assign(F, 'test.txt');
  Reset(F);
  I:= -1;
  while not EOF(F) do begin
    if not SeekEOLN(F) then begin
      Inc(I);
      Read(F, A[I]);
    end
    else Readln(F);
  end;
  for J:= 0 to I do write(A[J], ' ');
  Close(F);
  writeln;
  readln;
end.
Since all that staff is just a legacy in Delphi, I think it must work in Turbo Pascal.