Ein ähnliches Problem hatte ich auch mal ...
Dein Problem klingt zuerst mal nach einer falschen Initialisierungs-/Finalisierungsreihenfolge, welche vorallem dadurch entsteht, wenn man unnötige/ungünstige Units in Implementation, anstatt im Interface einbindet, wobei die Initialisierungs-/Finalisierungsreihenfolge sich zufällig ändern kann.
Bzw. nicht oder falsch deregistrierte Komponenten/Funktionen welche vorher registriert wurden.