Du hast dort gar keine Referenzzählung, denn du leitest von TForm ab. In den visuellen Komponenten sind zwar die Interface-Routinen vorhanden, so dass du direkt Interfaces implementieren kannst, aber eben ohne Referenzzählung.
Wenn du also ein solches Objekt in einer Interfacereferenz speicherst und das Objekt freigegeben wird, zeigt die Interfacereferenz auf ein ungültiges Objekt. Allerdings ist sie deshalb nicht 0, was genau das Problem an der Stelle ist. Deshalb muss man dort aufpassen, was man tut.
Ich habe jetzt das Problem, dass manchmal bei den Aufrufen von GetIfTestImpl bzw. dem Property IfTestImpl als Ergebnis nil zurück kommt, obwohl die interne Klassenvariable _ifTestImpl gesetzt ist.
Das kannst du nicht im Debugger nachstellen und dort prüfen?