The API says that the input parameter for ensurerowvisible is a bound index, but it functions like its a visible index.
Just look at the Demo given with the API: http://jsfiddle.net/jqwidgets/hBM5L/
click the button and it will go to the 100th row. After sorting by a column though, that element should retain its bound index, but move to a new visible index. However, clicking the button keeps returning to the 100th visible element.
This is especially frustrating because if it worked as explained, it would be very simple to keep track of the row being edited while the grid is sorted.
As it stands, editing the grid while sorted is a nightmare when there are enough rows to require scrolling.