E_FAIL: too generic an error!

hello everybody... i've been stuck on a problem for a couple of days so
far...
i have an interbase db, and would like to access it through ado (this is
what I've been asked for).

i created the odbc data source for it, and things, so far, went ok.

i have a simple form with one for each of the following components:
-TADOConnection
-TADOTable
-TDataSource
-TDBGrid
-TDBNavigator

as you understand, the table's connection property is the connection, the
datasource's dataset property is the adotable and so on...

i can see the data on the table, but apparently i cannot edit them.
if i press on the "insert" button of the navigator, a new record on the grid
appears. as soon as i post this insertion, though, i get this error message:
"data provider or another service, returned an E_FAIL error" (or something
similiar, since i now translated it from italian).

anyway, sharing the same TADOConnection instance, i have a TADOCommand on
the same form, whose CommandText property is
"insert into mytable (fld1, fld2) values ("val1", "val2")", and its Execute
method works fine!!!
so, i guess all the permission for the connection are right to edit this
table... and maybe i got wrong some property of the dataset... what else?

notice that with IBTable, IBTransaction and IBDatabase, the example works
fine too.
furthermore, since IBTable requires an IBTransaction to work, i use
TADOConnection.BeginTrans and CommitTrans to be sure this isn't the
problem... but I don't do such thing with the TADOCommand...

can somebody please help me?
thanks in advance,
    rony.