Last months I saw in various support lists and forum questions about lost connections and Firebird

As said in firebird.conf :

Normally,Firebird uses SO_KEEPALIVE socket option to keep track of
active connections. If you do not like default 2-hour keepalive timeout
then adjust your server OS settings appropriately.

I found a good web page explaining how to setup these values for various OS, so here is the link : http://www.gnugk.org/keepalive.html

Note that MacOsX behaviour is the same as FreeBSD

When Firebird 2.5 will be there, with monitoring tables, it will be possible to kill connections if need.