Wie himitsu schon geschrieben hat, Windows selber ist in diesem Zusammenhang nicht sauber programmiert, dann kommen noch ein paar
VCL-Bugs dazu, die sich noch dazu bei unterschiedlichen Windows- und Delphi-Versionen unterschiedlich auswirken, und schon ist das Chaos nahezu perfekt.
Ich bin mittlerweile dazu über gegangen, modale Dialoge generell mit BorderStyle = bsSizeable zu designen, die BorderIcons entsprechend zu deaktivieren, und die Größenänderung der Fenster zu verhindern. Dadurch sind wenigstens die meisten Probleme mit der Skalierung behoben.