No se qué componentes utilizas, pero deberías utilizar el TQuery más simple.
Código Delphi
[-]
Query.Close;
Query.SQL.Text := 'INSERT INTO MyTable (ID, DESCRIPCION, ...) VALUES (?ID, ?DESCRIPCION, ...)';
For I := 0 To nRecords - 1 Do
Begin
Query.Close;
Query.ParamaByName['ID'] := id;
Query.ParamaByName['DESCRIPCION'] := descripcion;
...
Query.ExecQuery;
End;
Query.Close;
ExecQuery no devuelve datos por lo que debería ser mucho más rápido.