PS: ich weiß, dass das virtual und override fehlen, trotzdem.
Nicht "trotzdem", denn genau das verändert die Ausgangsfrage.
In TStrings und TStream sind nunmal die "Funktionalitäten" als Virtual deklariert und werden dann z.B. in TStringList/TMemoStrings und TFileStream/TMemoryStream überschrieben.
Wenn man eine Vererbung "falsch" implementiert, dann existiert dort natürlich nicht das gewohnte Standardverhalten einer Verwerbung.