A ver si te sirve esto
Código:
// Suponiendo que caben 50 letras por linea
var str : string;
begin
str := Memo.Text;
y := 100; // o el que necesites para inicializar
while length(str) > 50 do
begin
TextOut(100, y, copy(str, 1, 50));
Delete(str, 1, 50);
inc(y, 100);
end;
end;
Este ejemplo supone que caben 50 caracteres por linea. Claro esta que esto funciona bien para tipo de letra de igual tamaño estilo courrier. Para las demas tendrias que hacerlo de forma aproximada.
Tambien deverias de controlar que no rompiera una palabra por la mitad.
Espero te sirva