Hola shoulder.
Lo que sucede es que el DBGrid no trabaja independiente del DataSource. El DBGrid es, digamos, la representación visual de
un DataSet que está relacionado a él, mediante un DataSource.
Es decir que la línea donde se situa el foco en el DBGrid, está en relación directa con la posición en que se halla el DataSet en
ese momento.
Saludos.