Эта политика обеспечивает работу принципа "Write once, compile anywhere". Благодаря ему можно для N платформ писать одну, а не N разных программ. Цена этого -- N вариантов библиотеки, причём все они должны работать как можно более единообразно.
.wOvAN писал(а):Логично было бы реализовать максимум доступного функционала под каждую ось а там уж объединять то что можно.
Примерно так и делается. Максимум доступного функционала под каждую ось находится в модулях Windows, BaseUnix и т.п., а то, что должно работать везде -- включается в LCL.
Имхо, конструктивным решением проблемы был бы патч, вычисляющий правильные TForm.Width/TForm.Height под Windows, и добавляющий эти свойства в Restrictions для Qt/GTK/Carbon.
В крайнем случае, можно начать с костыля типа функций GetWindowHeight/GetWindowWidth, под виндой вызывающих WinAPI-функцию GetWindowRect (см. MSDN), а под другими платформами возвращающих ClientHeight/ClientWidth. А потом, под настроение, перенести код в LCL.