Espero que esto te sirva...
En uno de mis reportes yo abro el proyecto, selecciono el reporte, fijo parámetros, y luego asigno:
Código:
RvProject.Engine := RvNDRWriter;
No uso el RvSystem.
Luego, llamo el Execute del RvNDRWriter y no del RvProject, ya que es en el evento OnPrint del RvNDRWriter donde se llama varias veces el método Execute del RvProject:
Código:
RvNDRWriter.Execute;
y luego, en el evento OnPrint del RvNDRWriter escribo un bucle (en tu caso de tres iteraciones), hago las consultas pertinentes, asigno nuevo valor a los parámetros, ejecuto el proyecto, y llamo el método NewPage.
Código:
with Sender as TBaseReport do begin
RvProject.Execute;
if I <= 3 then
NewPage;
end;
Sender es el parámetro del evento OnPrint.