Mein Problem mit InterfacedObject kam vermutlich daher, dass er sich, wenn man das Objekt ohne cast hinein gibt, zwischen beiden Implementierungen nicht entscheiden kann, da InterfacedObject sowohl TObject als auch IUnknown ist.
Da kommt dann ein Fehler beim Kompilieren. Das ist genau der Grund für meinen Cast auf TObject.