Lonny Niederstadt has a half-baked idea on dead connections:
In SQL Server 2005, a valuable addition was made. SQL Server would use a “Keep Alive” value specified specifically per instance, rather than the KeepAliveTime specified by the Windows registry. It defaulted to 30000 ms/30 seconds.
The blog post below explains this new addition, and mentions that the interval for SQL Server will be a fixed 1000 ms/1 second, regardless of the KeepAliveInterval specified in the Windows registry. At the time SQL Server 2005 was introduced, TCPMaxDataRetransmissions from the Windows registries still controlled the maximum number of probes.
Read on for more.