Hola Carlos, no te preocupes por tu respuesta, no siempre se puede responder al momento.
Si, vía ftp puedes crear un archivo simple de texto en B, y luego desde A con Http bajartelo, si te lo puedes bajar es que existe.
Lo de asegurarte como borras el fichero es cuestión de la aplicacion B, de que cuando vaya a salir borrarlo, si es en B4A al salir puedes poner un servicio en marcha que lo borre y luego pare el servicio el mismo. Si lo haces en otro lenguaje tendrás que buscar algo similar.
Si tienes problemas en B de controlar que han salido, puedes emplear el metodo inverso, A escribe en ese fichero y B cada x tiempo lo borra o sobreescribe, luego A consulta , es mas lento, pero si tienes problemas de no controlar la salida de B seria un método.
Tambien como te dije puedes emplear email, A le envia un mail a B para saber su estado, y B le responde, si no te responde en x tiempo se supone que B no está activo. Si quieres asegurar que no te llegue un mail atrasado escribes la hora de envio en el asunto, por ejemplo. Tambien si puedes controlar la salida de B, B puede enviar un email cuando entra y otro cuando sale
No se si existe un hilo sobre este tema, yo para una aplicación empleo los dos métodos, el del escibrir un fichero y lo de los mails, el de los mails casualmente para saber estados de A, y me va bien, tampoco necesito saber constantemente el estado.
Como te dije, esto es algo que irá muy ligado a la velocidad de respuesta que tengas que dar y que método se adapta mejor a tus requerimientos. Posiblemente si te respondiera mas de uno que hubiese tenido esa necesidad, cada uno habria echo un método diferente. Yo empleé ese por que era el que mejor me iba para las dos aplicaciones y por que los requerimientos de velocidad de respuesta me lo permitian y tambien por que de esto hace años.
Saludos