OK, there can be a number of things going on here. First, you are using a grid and trying to seek within grid events...thins can get hairy because the grid ultimately wants control. the ONLY way this can happen...seriously...the ONLY way is if the BO is navigated to these records. So one of the following this is going on:
1. The grid is navigating to these records when when getting the values.
2. You have a sort or filter applied (or the grid is applying one)
3. The planets are beginning to align for a total eclipse!

Possible Resolutions or Debugging Ideas:
1. Remove any filters and/or sorts
2. Put a break point in the navigating event of the BO and then look at the call stack to see what is navigating the BO.
3. USE A LISTVIEW

In this particular screen shot, I see no reason for the grid. Grids are fat and have a ton of overhead. When just displaying row elements that are maintained OUTSIDE of the grid, you are asking for trouble. Just my 2 cents!