I couldn't download your project but I think I managed to reproduce the issue and got your idea.
We made a change in the position handling and added an re-entrance check. This re-entrance check is a flag which if true does not allow the code to change the position.
We introduce it because in order to address several issues:
1. Inconsistency between changing the position through the UI and through the Position property.
2. Bugs when panning from the UI and using animations.
3. Disable changes of the position while position change is in progress.
We recommend you to use the ViewportChanged event and insert your custom code regarding the position there. It is fired after the operation (position changing) has been completed and you could safely re-change the position there (at that time).
Hope this helps. Please let us know if you need more info or the suggested solution is not applicable or not working in your case.
the Telerik team