Hola,
Por otro lado (es que depende de cómo se piense usar el "TMemo") algo como esto igual también podría servirte:
Código Delphi
[-]
procedure TForm1.Memo1Change(Sender: TObject);
begin
Memo1.Text := AnsiUpperCase(Memo1.Text);
Memo1.SelStart := Length(Memo1.Text);
end;
PD. Algo parecido a lo que te dice Marcos, salvo que aquí se usa el evento "OnChange" del "TMemo", como puede verse.