"merkwürdig": auf nichtexistierende Objekte und dann auch unsyncronisiert (deine CriticalSection kennt die
VCL nicht, also mußt DU dich mit Ihr synchronisieren) zuzugreifen ist nunmal ungünstig, aber das wurde ja schon behoben.
Und wenn du dennoch auch vorher Loggen willst, dann solltest du eben in eine Liste Loggen und die Anzeige holt sich dann später die Einträge da raus.
* wenn sie existiert und bereit ist
* und du kannst dir dann auch die Synchronisiation mit der
VCL sparen (also beim Loggen ... beim Auslesen auch nur noch mit deiner CS synchronisieren)
* entweder schaut der
VCL-Log regelmäßig (pollen) nach, ob es was Neues gibt, oder es wird z.B. eine Message gesendet (PostMessage), dass es nun was zum Abholen gibt
Also entsprechend dem Vorschlag von TiGü.