Hola Amigo delphiniano, te cuento que no debes utilizar la sentencia Insert sino la sentencia Append ya que el Insert debe averiguar primero la posicion a insertar la nueva tupla entre otras cosas y eso es tiempo...te recomiendo lo siguiente:
ntabla.open; //cuando abro la tabla se posiciona el 1er. registro
ntabla.append; //habilito nuevo al final
ntabla.fieldbyName('xfield1').asString := xValor1; //dato nro1.
ntabla.fieldbyName('xfield2').asString := xValor2;
ntabla.fieldbyName('xfield3').asString := xValor3;
ntabla.post; //luego de que grabo la tabla vuelve al estado dsBrowse
A estas sentencias la puede llamar desde un bucle o hacer un proc y pasarle parametros, etc..