Well, you are dealing with 2 types of data binding...so as such, you will need to be consistent if you want to use this type of logic for the easiest implementation. When you use a BBS, there is no "CurrentRowIndex" so to speak. It is managed within the BBS, but if you have custom controls using the IBusinssBindable interface, you will need to see at what point you are having an issue.As soon as you set the BusinessObject property of a BBS, any bound control will automatically be forced back to the first record in the BO. Secondly, if you are using BO translations through a user control or any other mechanism, this too can become a problem as the object instance within the DataRepeater may not be refreshed since it is not going to be handled through the translation. So in this instance, you would want to refresh that instance with the translated object after the OnLoad of the control.
This is a very sticky and complicated thing to address on a post like this. Data binding can be a somewhat complicated thing when you have a lot of things in the mix. So I am just throwing out a few ideas here versus trying to resolve your problem as I really don't know what your problem would be without getting my head into your code and logic.