Das kommt auf den Blickwinkel an.
In der
DP sind schon oft Bugs von Standardkomponenten beklagt wurden, die sich wegen privaten Feldern und/oder Methoden nicht beheben ließen (obwohl das sonst vielleicht mit 2 Zeilen behoben wäre).
Außerdem siehst Du das automatisch anders, wenn Du häufig allgemeine eigene Klassen erstellt bzw. von anderen Klassen ableitest.
Wenn eine Klasse protected virtual aufgebaut ist gibt sie genau so viel oder wenig preis, wie eine private. Allerdings wird späteren/anderen Entwicklern ermöglich, Korrekturen, Verbesserungen bzw. Veränderungen einzubauen. Ich sehe da keinen Nachteil sondern finde das weitsichtig.
(Wer sein Derivat vermurkst hat dann ja selbst Schuld.)