Wie machst du es denn bisher? Normalerweise zeichnet man auf ein Bitmap im Speicher, da Ausgaben auf dem Canvas immer sehr langsam sind. Und dann kopiert man es mit der
API Funktion BitBlt auf den Canvas zum Anzeigen. Dies tut man immer im OnPaint der Paintbox und wann es eben sonst noch nötig ist. Und wenn du es eben immer om OnPaint kopierst, dann ist es auch immer aktuell, wenn die Painbox neu gezeichnet werden muss.