Tienes 2 soluciones, utilizar un conponente TImage para hacer tus dibujos, o en el evento OnPaint del formulario redibujar lo que se ha borrado.
El evento OnPaint se produce cuando el formulario necesita ser redibujado. Aqui puedes poner la instruccion:
Código Delphi
[-]
procedure TForm1.FormPaint(Sender: TObject);
begin
Form1.Canvas.Ellipse(0,0,400,400);
end;
Esto solo es util cuando la operacion de dibujo no es muy compleja, pero cuando hay que dibujar varios elementos puede ser util utilizar la propiedad Canvas.Cliprect que nos devueleve las coordenadas de la porcion del formulario que necesita ser redibujada, evitando asi tener que repetir todo el dibujo:
Código Delphi
[-]
procedure TForm1.FormPaint(Sender: TObject);
var
R: TRect;
begin
if IntersectRect(R, Canvas.ClipRect, Rect(0,0,400,400)) then
Canvas.Ellipse(0,0,400,400);
end;