Hola a todos.
Yo tengo un programa similar al que comentas, y el amigo maeyanes tiene toda la razón, iniciando una transacción antes de leer y finalizándola al terminar, y de igual modo al escribir los datos te funcionará.
En mi caso, opté por utilizar los componentes del BDE, con lo que te despreocupas del tema, ya que lo hace el solito....
Saludos.