Dass OnDisconnect nil ist, ist klar. Es handelt sich hier um ein Event (Methodenpointer) und da generell alles in einem Objekt erstmal genullt wird, ist dieser Pointer nil. Du musst dem Event einen Eventhandler zuweisen.
Das Zuweisen geschieht bereits beim Erzeugen der Instanz. Ungeachtet der Zuweisung, die auch beim Aufruf von Connect() erfolgen könnte, sehen andere Methode das Event als korrekt zugewiesen, nur beim Sprung in die Methode der Basisklasse wird sie als nil aufgelöst.