Die DPROJ ist versioniert, bzw. sie hat sogar zwei Versionsnummern.
Eigentlich ist die DPROJ ein Script und keine Settingsdatei.
Sie wird von oben nach unten durchlaufen und der Letzte, der einen Parameter (Variable) setzt, der wird genommen.
Wenn sich in der DPROJ Optionen verschieben, aber nachfolgend Diese überschrieben werden, durch den "Code" einer älteren/neueren Delphi-Version, dann gibt es Probleme.
z.B. die Interfaces in der OpenToolsAPI setzen teilweise die Optionen im "falschen" Pfad und dann zeigt sogar in der selben Delphi-Version der Optionsdialog was anderes an, als dann beim Kompilieren gemacht wird.
Ich war mal auf die Idee gekommen "falsche" Settings in unseren Projekten via OTA ändern zu wollen ... das war echt ein Spaß.