Wäre die Referenz eine Konstante (oder Singleton, oder ...), würde dir das auch nicht helfen, denn jeder kann ja die Referenz nehmen und Methoden wie
Remove(..)
oder
Clear()
aufrufen.
Unter
System.Generics.Collections gibt es leider kein "Read Only"-Dictionary.
Mit den Standard-Delphi-Collections bin ich nie lange glücklich geworden,
die Collections von Spring4D sind fantastisch. Da gibt es dann z.B. auch ein
IReadOnlyDictionary<X, Y>
Ansonsten wenn es nur für diesen einen Anwendungszweck ist, mach dir doch eine eigene Klasse um ein TDictionary<X, Y> welches nur Methoden zum Nachschlagen, nicht modifizieren anbietet.