Usa siempre QuickReport1.PreviewModal
Si utilizas preview, el informe se muestra pero sigue ejecutando las demás instrucciones, por ejemplo, imagina esto:
Código Delphi
[-]
quicreport1.dataset := query1;
query1.Open;
quickreport1.Preview;
query1.Free;
Close;
Después de hacer el preview, se libera la consulta, por tanto el informe dará errores al intentar acceder a los campos del query1. También se manda a cerrar la ventana y el preview te puede dar más dolores de cabeza aún.
Si en lugar de Preview, usas PreviewModal, tu ventana se queda congelada en esa línea de código. Cuando cierres La presentación del Informe,
sólo entonces se ejecuta el query1.Free y el cierre de la ventana.
Saludos