Hola,
Prueba con el método "Repaint" conque cuenta el "TWinControl" sobre el que estás dibujando en su "Canvas". Por ejemplo, en el caso de que estés dibujando en un formulario:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
begin
Self.Canvas.LineTo(100, 100);
Self.Repaint;
end;
En este caso nunca llegará a verse la línea dibujada con "LineTo", porque acto seguido se "redibuja" el "Canvas" en cuestión.
También podrías utilizar el método "Invalidate": al fin y al cabo el método "Repaint" llama a dos métodos a su vez: "Invalidate" y "Update", ambos pertenecientes también al "TWinControl" sobre cuyo "Canvas" estés dibujando.