Существует дополнительная складка, если ваша форма является представлением в приложении MDI. В этом случае RectangleToScreen (this.ClientRectangle) возвращает координаты не относительно самой формы (как можно было бы ожидать), а относительно MainForm, в которой размещается элемент управления MDIClient, содержащий форму.
Вы можете отчитаться за это
Point pnt = new Point(0, 0);
Point corner = this.PointToScreen(pnt); // upper left in MainFrame coordinates
Point origin = this.Parent.PointToScreen(pnt); // MDIClient upperleft in MainFrame coordinates
int titleBarHeight = corner.Y - origin.Y - this.Location.Y;