Subject SQLDA bug
Author Jason Wharton
This is the infamous bug in InterBase itself.

In version 3.6 Ba I changed the way IBO reacts to the ill effects of this
bug. Here is what I said about it in the release notes.

I changed the code which automatically responds to the InterBase bug having
primarily to do with stored procedures such that it won't execute it twice
in the auto-recovery effort but instead go ahead and raise the exception. It
checks the StoredProcHasDML property value to determine what it does or not.
Some people were complaining that their stored procedures were being
executed twice and messing things up. This is why I have now made it more
obvious that there is a problem that should be worked around. The work
around is to put a SUSPEND in the stored procedure and then use a TIB_Cursor
or set the stored procedures StoredProcForSelect property to true. This way
it avoids the API call that has the bug in it. This bug only affects remote
connections too.

So, everyone, you need to work around this bug and not rely on IBO to
smoothen it out. There is no safe way (generic) that I can do this for you.

Jason Wharton
CPS - Mesa AZ