Veo dos problemas.
1. Siempre te dará 279 mm porque tienes asignado el tamaño de pagina como Letter, cambia Page.PaperSize a Custom, eso te permitirá modificar el valor del Page.Length.
2. No estoy muy seguro pero así como lo estas haciendo no creo que te de el valor correcto en el Page.Length, yo haría algo como esto
Código Delphi
[-]
Y := Canvas.TextHeight('Yy');
ShowMessage(FloattoStr(Y));
QuickRep1.Page.Length := Y * Numero_de_Registros;
ShowMessage(FloattoStr(QuickRep1.Page.Length));
Trata con eso y nos dices como resultó.
Salud OS.