Das passiert nur bis Delphi 7 / 2005, weil bis Windows 2000 die Rahmen eben praktisch immer gleich waren.
Erst mit XP hat sich das dann grundlegend geändert, und die neueren Delphiversionen, auch Delphi 2006 und das kostenlose
Turbo Delphi sind entsprechend angepasst. Dort wird vom Clientbereich bei der Berechnung der Größe ausgegangen statt von der Gesamtgröße (inkl. Rand).
Ich hatte da mal eine einigermaßen funktionierende Lösung dafür geschrieben, aber da das eben nur die alten Versionen betrifft, die ich nur sehr ungerne noch nutze, hatte ich keine Lust extra dafür noch sowas fertig zu schreiben.
Einer von denen, die Delphi 7 so lieben, könnte das ja machen...