Ojo... tu código no solo no es correcto sino que es riesgoso.
Estas asignando un objeto TStrings perteneciente a un componente a otro TStrings perteneciente a otro. No creo que sea el caso, porque internamente hacen un Assign para mantener su misma lista, pero esta práctica, con algunas clases, puede producir que cuando uno de los dos componentes se destruya y destruya este TStrings, cuando el otro componente haga referencia a este TStrings produzca un Access Violation.
Por otro lado ciclas innecesariamente, porque no asignas los items del TStrings, sino asignas el mismo TStrings. Supongo que lo que quieres hacer es algo como:
Código Delphi
[-]
var
i: Integer;
begin
Form2.QRMemo1.Lines.Clear;
for i := 0 TO Memo1.Lines.Count-1 do
Form.QRMemo1.Lines[i] :=(Memo1.Lines[i]);
Form2.QuickRep1.Preview;
Saludos!