Hallo,
wenn Message.Msg = WM_VSCROLL oder WM_HSCROLL und Message.Scrollcode = SB_LINEUP oder SB_LINEDOWN, dann wurde mit den Buttons gescrollt.
Message.Pos liefert aber dann 0, wie Du schon geschrieben hast.
Die Position kann man mit
GetScrollPos(Handle,SB_VERT{B_HORZ});
abfragen