Looking at the code in ovcslide.pas ist seems to be a faily old "issue": When setting a new position, the position ist always rounded to multiples of Step (except when you exceed min or max). Choosing min=3, max=49, step=10, position=20 makes this more transparent:
- When you change the position, the slider will go to 30, 40 and then (as 50 would be to large) to 49.
- moving in the other direction, you go to 40 (not 39), 30, 20, 10 an finally 3

This behavior seems quite ok to me - in your case it leads to a "strange" behavior. A solution might be to take min into account when setting the position. However, in the example above, the stops would be at 3,13,23,33,43,49 - and when you move backwards from 49 you might wonder why the slider doesn't jump to 39. Or why you never get to 10,20,30 etc..

Taking it all into account, it seems to me more a feature than a bug. I do not see how to change the sliders behavior so that it moves "as expected" in all cases.