Hi,
this might be obvious for the more enlightened among us, alas, I had to learn it the hard way (and I hope my interpretation is right):
WHENEVER you use ingres_commit(), you cannot use any other ingres-commands for this connection anymore, since ingres_commit() closes it. That means that any ingres_fetch_row/object/whatever has to come before the ingres_commit-call. I first thought, each ingres_query() had to be "committed", but that was wrong.