RE:API en VB para encontrar un EXE en memoria
En http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/q187/9/13.asp&NoWebContent=1 tienes la forma de listar los procesos en ejecución.
Para tu caso particular me parece un poco más simple intentar una conexión al servidor en lugar de verificar el proceso en memoria, y si no está en ejecución devolverlo por una rutina de error:
Public Function ServidorActivo() As Boolean
On Error Goto ErrorHandler
ObjetoConnection.Open "CadenaDeConexión"
If ObjetoConnection.State = adStateOpen Then
ServidorActivo=True
Else
ServidorActivo=False
End If
Exit Function
ErrorHandler:
ServidorActivo=False
End Function