Hola amigo,
Yo uso el manejo de errores y pregunto si es el error de perdida de conexión así:
Código vb:
Ver originalIf Err.Number = "-2147217865" Then
MsgBox "Se ha perdido la conexión al servidor....", vbCritical, "Error"
rs.Close
rs.Open
End If
Espero que te sirva o nos den una mejor opcion