Trying to find the cause of the regression CORE-11561, I found that GetScrollPos returns the position in time of the beginning of the movement of the scroll bar, instead of the current position. Windows always returns the current position of the scroll bar. ROS updates it only when you release the mouse button.
If you look closely at ROS for a scroll bar in the process of moving, we can see that at some point the position of the scroll is drawn in the right place. I think it draws the future place of the scroll bar (where it should be). But due to the fact that GetScrollPos returns an incorrect result, the subsequent drawing occurs in the place where was the beginning of the movement of the scroll bar.
I attach test program for this case.