Para saber si un formulario está activo prueba con wvisible o con wExist("miformulario") donde "miformulario" es el nombre (propiedad NAME ) del formulario.
Para saber si una aplicación está abierta,prueba con el nombre del ejecutable donde dice "Nombre de Aplicación", o con el caption de la aplicación.
******************************************************************************
IF _EstaActiva("Nombre de aplicacion")
=MESSAGEBOX("La aplicación, esta activa ")
CANCEL
ENDIF
FUNCTION _EstaActiva(tcCaption)
DECLARE INTEGER FindWindow in WIN32API;
STRING cNULL,;
STRING cWinName
RETU FindWindow(0,tcCaption)# 0
ENDFUNC