Für sowas benutze ich einfach das OnPaint-Ereignis des Formular.
Damit blockierst du aber die WM_PAINT Nachricht. Das ist keine gute Idee. Wenn man schon so etwas ohne Threads macht, dann wenigstens im OnActivate, per sich selbst geschickter Nachricht oder per Timer...