думаю состояние сервера можно так проверять,на счетчика повесить:
Dim pPropset As IPropertySet
Set pPropset = New PropertySet
With pPropset
.SetProperty "Server", "ServerName"
.SetProperty "Instance", "5151"
.SetProperty "user", "username"
.SetProperty "password", "****"
.SetProperty "Database", "DBName"
.SetProperty "version", "SDE.DEFAULT"
End With
Dim pFactSDE As IWorkspaceFactory
Set pFactSDE = New SdeWorkspaceFactory
On Error GoTo ConnErr
Dim pWorkSpaceSDE As IWorkspace
Set pWorkSpaceSDE = pFactSDE.Open(pPropset, Application.hWnd)
ConnErr:
MsgBox Err.Description, vbCritical