@Pro_RJ: Wenn er serverseitig passt, dann ist das a) ein Indiz dafür, dass die Verwendung im Code nicht passt oder halt IBX das RETURNING nicht unterstützt. Bzgl. Verwendung FieldByName/ParamByName wird es vermutlich auch in IBX davon abhängen, ob man eine Ergebnismenge offen hat oder nicht. Stichwort Open vs. ExecSQL.
Aber warum funktioniert dann diese Scheife einige 100K mal und nur in einem Passt der wert nicht. DIe Daten sind immer die gleichen, die Schleife ist immer gleich, das Einfügen ist immer gleich es ist alles Identisch und bei allen Statements ist der wert in FIeldByName vorhanden nur ab und zu mal nicht
PS: Ein IBSQL.Open gibt es so nicht, das ist lediglich eine "nur lesen" eigentschaft, mit der geprüft werden kann ob die Datenmenge Aktiv ist oder nicht. Aber man dann damit keine Datenmenge öffen oder ein Statement absetzen