@Peppe: I haven't confirmed this by running it, but this is my expectation from examining the sources:
1) Slider wraps the Android widget SeekBar, which is a subclass of ProgressBar.
2) Slider is an event listener for SeekBar to report when the thumb position changes.
3) You set the ThumbPosition.
3) Slider internally stores the new ThumbPosition as an optimization.
4) Slider transforms the thumb position based on the min/max range into a [0,100] range for SeekBar.
5) SeekBar's position is set, which is stored as the last position to optimize redrawing (e.g., don't redraw if the value hasn't changed).
6) SeekBar after its visual refresh fires an onPositionChanged event, which triggers the callback on Slider.
7) Slider updates its thumb position value by reversing the transformation in step 4.
8) You read the value back, which is 696.
9) You set the ThumbPosition to 700 again.
10) Slider stores the new thumb position internally as an optimization (Step 3).
10) Slider transforms the new thumb position to the [0,100] range for SeekBar (Step 4).
11) Slider sets the SeekBar position, but since it is the same value in [0,100] it does not update itself because the old value and new value match.
12) Because the onPositionChange handler is not called, the cached thumb position is 700 rather than 696.
Evan