Yo miraría la configuración del tamaño de página, corte de papel, etc.
Si fuera por el tamaño del buffer, entonces bastaría con poner una pausa después de imprimir cada línea...
algo asi:
Código Delphi
[-]
var
Archivo: TextFile;
begin
AssignFile(Archivo, '\\pc\impresora');
Rewrite(Archivo);
while not qry.eof do
begin
writeln(Archivo,qry.fieldbyname('Linea').asstring);
qry.netx;
sleep(500);
end;
CloseFile(Archivo);
end;