The mousewheel handler code in CompareIt is likely a bit incorrect, because the scrollbars behaves erratically with a Microsoft Laser Mouse 6000 and Intellipoint 7.1 (likely with other MS mouses using Intellipoint too).
MS Mouses are probably the first mouses which produces smaller wheel delta values, values smaller than ±WHEEL_DELTA (120). You likely do integer divides of the delta and compare to -1 and 1 to decide whether the scrollbar should go up or down. Code like
switch ((int)(delta / WHEEL_DELTA))
case -1: .. go up
case 1: go down
This code obviously can't work with smaller deltas, could you please check it out and either process the smaller deltas into smaller scrollbar movements, or at least just compare to 0 with a relative operator instead:
if (delta < 0) .. go up
else (delta > 0) .. go down