Si el listado lo estás generando a través del objeto Printer, no sería muy complicado controlar la impresión. Deberías crear un formulario con una etiqueta en la que vayas mostrando el estado de impresión y con un botón que cancele el proceso.
Si el listado lo genera algún otro componente... dependería de ese componente y estaría más fastidiado (o no, dependería del componente, repito).
Si lo genera otra aplicación mediante automatización OLE, intenta utilizar la presentación preliminar del informe.
De todas formas no sé si habrá alguna api o método para abrir el administrador de impresión, pero claro el listado ya estaría en cola de salida.
No se si te habré aclarado mucho, pero... suerte.