WM_LBUTTONDOWN работает с клиентскими координатами, а у вас там nRelX (pt.X) и я не особо понял, что там к чему. Возможно стоит тоже обратить внимание. Не везде и не во всех сообщениях отсчет координат одинаковый!
PS: Да и ClipCursor используется. Правильно/достаточно ли я не знаю.