Не знаю, поможет ли это, но, похоже, я помню, что есть способ "взломать" приватную переменную в видимости.
Я знаю, например, что я столкнулся с предупреждениями от компилятора, когда я переместил свойство из более низкой видимости (в базовом классе) на более видимый уровень (в моем потомке). В предупреждении говорилось, что оно объявлено на другом уровне видимости ...
Прошло некоторое время, и я не уверен, но я верю, что вы можете сделать так, чтобы ваш потомок объявил ту же переменную, что и защищенный. (Возможно, вам придется использовать ключевое слово Redeclare для этого при компиляции.)
Извините, у меня нет более конкретной информации о том, как это сделать (если это действительно возможно.) Возможно, эта публикация побудит одного из волшебников здесь исправить меня! :-)