Subject [firebird-support] FB 2.1 transaction question
Author Rustam
Important notice: modified rows in that 'dead' transaction remains locked along this TA existence. So, your another connections will get 'lock conflict' errors ('no wait' TA's), or waiting forever ('wait' TA's) when try to modify same rows. Even if you just want reconnect on unexpected connection lose and finish your previous work.

For such extremal cases your application can present for SYSDBA special window that shows table with data from MON$ATTACHMENTS (login, connection's start date, client IP, app name).
Deleting record from MON$ATTACHMENTS will close connection, so you can continue.

The data isn't committed, so it isn't visible to any other transaction. 
If a connection is closed with an active transaction, the transaction
will eventually be rolled back by Firebird. See also "“Dead”
transactions" in the Firebird book.

 Mark Rotteveel