I never faced this, but bellow could be a possible explanation.
do you use embedded-sql in your code ?
Any usage of SQLConnectByTable in your code?
If yes, you might have not ended the statement properly (to perform a implicit commit) so, your previous usage of the embeeded-SQL statement was left open (transaction already running).
And now, you are trying to start a new one, (or explicitly via another embedded-sql, using the same connection handle to the database , or implicitly by performing a request-save/delete)
SQLConnectByTable uses the same original connection the driver has opened original to access the tables in your file-list. so both your embeeded-sql and regular DAW access to the tables share the same connection.
Regards