Wenn es sich um eine Basisklasse handelt, packt man die Properties zweckmäßigerweise in den protected-Abschnitt. Die abgeleiteten Klassen können die Sichtbarkeit dann je nach Bedarf erhöhen (die
VCL macht davon selbst regen Gebrauch, schau Dir nur mal die ganzen TCustom...-Klassen an). Eine private Property macht in meinen Augen lediglich in Verbindung mit einem Setter Sinn, sonst könnte man ja gleich direkt auf das Feld zugreifen.