¡Holas Frasko! Me alegro de verte de vuelta por estos lares :)
Veamos, ahora mismo no se me ocurre ningún sitio donde encontrar documentación específica de lo que pides. Sin embargo, documentación sobre la gestión de una conexión a SQL Server 2005 seguro que encuentras a porrillo (objetos necesarios, establecimientos de conexión, operaciones con la base de datos, cierre de conexión, verificación de estado). Si sabes hacer todo eso, es muy fácil intuir como hacer lo que propones.
Dado lo que comentas, lo primero que hace tu aplicación al iniciarse es intentar conectar con la base de datos. Si esta conexión falla (que es un resultado de operación que puedes verificar), basta con que muestres un cuadro de diálogo donde se de opción a intentar reconectar o bien a salir de la aplicación.
Después el monitorizar el estado de la conexión y notificar si se pierde, habría dos formas de hacerlo: por eventos (que no se si era posible) o por encuesta. La cuestión sería:
- Por eventos. Sería la forma más eficiente. Consiste en mirar si el objeto de conexión con la base de datos dispone de algún evento que te permita ejecutar código cuando el estado de la conexión cambia. De forma que puedas verificar cual es el nuevo estado y en caso de que sea "no conectado" mostrar otra vez el cuadro de diálogo "Reconectar" o "Salir".
- Por encuesta. No es que sea muy eficiente, pero sí que es seguro que se puede llevar a cabo. Consiste en que cada cierto tiempo verifiques el estado de la conexión para ver si se ha caido. Esto lo puedes hacer con un Timer mismamente. Le especificas cada cuánto tiempo quieres que haga la revisión y pones el código para ello.
Espero haberte aclarado algo la cosa :)