Hola rgstuamigo,
¿Podrías aclarar mejor tu duda? No termino de comprender el motivo por el cual deseas implementar tus propios Insertar, Editar, etc que ya ofrece el DataSet (al menos eso es lo que entiendo de tu post).
El DBNavigator lo que hace internamente llamar a los métodos Insert, Edit, etc.. del DataSet asociado.
Por otro lado el TDataSet mantiene un "buffer" con los datos. Los métodos aprovechan ese Buffer para moverse por los "registros" y aplicar las funciones necesarias. Luego, cuando es necesario los datos de dicho Buffer se envían al motor para confirmar la acción.
De manera simple así es como funciona.
Por otro lado, si lo que estás buscando es acceder a los registro eso se puede hacer de muchas formas. Todo descendiente de TDataSet (TTable, TQuery, TIBTable, TADOTable, etc) cuenta con métodos y propiedades para acceder al registro actual:
Y si hacemos uso de campos persistentes algo como esto:
Código Delphi
[-]NombreDataSetNombreCampo.Value := ...
Ahora para moverse de un registro a otro se cuenta con Next, Prior, Last, First.
Si tu duda pasa por acceder los registros, y campos se procede de este modo.
Sería útil que puntualices y afines mejor tu duda.
Por cierto: no se debería hacer uso de TDataSet sino de los descendiente de éste. Cada descendiente ofrece los mecanismos adecuados para trabajar de forma adecuada. TDataSet solo es la clase abstracta.
Saludos,