Ich denke auch, wie vom Günther angedeutet, dass Du Deine Methoden nicht korrekt mit virtual und override deklariert hast.
(Dann sollte der Compiler Warnungen ausgeben im Sinne "Methode X der Klasse Y verbirgt Methode X der Basisklasse A" oder ähnliches)
Interfaces sind nützlich, bedingen aber auch einige Änderungen und zusätzlichen Aufwand.
Den kannst Du Dir evtl. sparen, wenn Du die Methoden der Basisklasse und der Ableitungen korrekt implementierst.
Zeig sonst evtl. mal Deine Klassendeklaration...
Oh mann, das Problem saß/sitzt wie zumeist vor dem Bildschirm. Ich habe, aus welchem Grunde auch immer, beim Kopieren / Aufteilen der Unterkomponenten das Virtual nicht durch Override ersetzt, und das Problem an einer ganz anderen Stelle vermutet...
man sollte sich doch die Compilermeldungen genau durchsehen, heul...
Na zumindest blicke ich jetzt besser bei den Interfaces durch...