My guess would be that there is an explicit BEGIN TRANSACTION statement upstream of the insert that never gets explicitly committed, your code likely needs to add a COMMIT TRANSACTION statement somewhere.
You can check if you are in an open transaction with @@transtate and @@trancount,