Bei anderen Controls kann ich durch repaint, refresh oder invalidate eine sofortige Ausgabe erzwingen. Für Textout scheint dies aber nicht zu geben.
Verwendest du denn auch OnPaint? Denn alles, was du außerhalb dessen auf das Formular schreibst, kann auch sofort wieder überzeichnet werden.
Korrekt wäre:
Deinen Buffer aktualisieren, Invalidate aufrufen, im OnPaint deinen Buffer auf das Canvas des Formulars oder der Paintbox zeichnen.