Aber auch ein "if assigned()" ist manchmal nicht sicher, das ist mir auch schon ab und zu aufgefallen.
Vermutlich wenn dein (globale?) Variable nicht mit FreeAndNil wieder genullt wird.
Assigned prüft nur ob die Varible ein Null-Pointer ist, nicht ob ein gültiges Objekt dahinter hängt.
Windows Vista - Eine neue Erfahrung in Fehlern.