Hola Chuma87, amigo Caral...
No he trabajado con SLQ Server 2000 y por ahí acoto una barrabasada...
No entiendo por que, si estás trabajando con un DataSet asociado al DBGrid, cerrás la consulta antes de pasar a los Edits la selección realizada...
Me parece lógico que te presente el primer registro y no el seleccionado si acabas de hacer un Open/Close sobre el DataSet involucrado.
Saludos.