Долго думал, почему у тебя выезжает, а у меня остается в середине экрана, пока не догадался, что у тебя окно развернуто, о чем ты любезно умолчал.
В развернутом состоянии все окна в винде имеют отрицательные координаты и размеры, слегка превышающие размеры рабочей области - так винда убирает с экрана границы этих окон. На системах с несколькими мониторами эффект особенно забавен: на соседних мониторах видна выступающая часть окна.
Собственно, для решения твоей задачи просто замерь позицию окна и задавай её явно. В моем случае (Win7, тема на базе классической) это (-4, -4), размеры окна в моем случае 1608x1180, т.е. с каждой стороны по 4 пикселя окна обрезается, и это надо учесть в выражениях.
Добавлено спустя 13 минут:
Мда, да у тебя еще и панель задач сверху... Уточнять надо такие детали. Если панель снизу, высота окна задается корректно.
Добавлено спустя 14 минут:
Спасибо, нашел, в чем проблема. За высоту рабочей области я просто считал её нижнюю координату, но когда панель задач сверху, верхняя координата ненулевая, и её надо отнимать от нижней. С расположением панели задач слева та же проблема.
Обновил TCFS2Tools.