Primero que nada, por favor edita tu posteo anterior e inserta el código como corresponde (ver Normas del foro, punto 7).
Yendo a tu consulta, estás usando mal la función Serial.available() porque esta función devuelve el número de caracteres disponibles para leer, no el estado de la conexión.
A primera vista podría parecer lo mismo, si tengo algo que leer entonces tengo conexión, pero... ¿Qué pasa cuando no hay nada por leer y entonces devuelve 0? ¿No hay conexión o si la hay?
Puede que no la haya o que la haya pero solo no hay datos recibidos pendientes de leer. ¿Se entiende?
Por eso tu "esclavo" dice que hay conexión y luego de leer el serial te da fallo de conexión cuando en realidad es que no hay nada por leer.
Y fijate que el "maestro" nunca recibe nada entonces siempre te daría error cuando en realidad no lo hay.
Lo que se debería hacer (si funcionase) es
// *** ¡Atención! Este código no tiene utilidad en este caso***
if(Serial) {
Serial.println("Conexión está OK");
}
else {
Serial.println("FALLO en la Conexión");
}
Pero Serial siempre devuelve true (salvo en algunas placas como las Leonardo) entonces la realidad es que no es de ninguna utilidad.
La placa HC-05 tiene un pin "state" que, teóricamente, te indica con HIGH si está conectada entonces solo conectas ese pin a uno del arduino y leyendo el pin sabes si tienes o no conexión. Como dije, en teoría, porque parece ser que no en todas las placas el pin "state" funciona como se espera.
Por otro lado, así como planteas el código está usando el mismo puerto para la consola y para el bluetooth, ahí tienes una fuente de conflictos, ojo con eso.
Lo normal es usar SoftwareSerial para el bluetooth (salvo que haya otro puerto hardware disponible, por ej. en Mega tienes 4 puertos).
Situación curiosa: Si el serial tiene fallo en la conexión ¿Cómo transmitiría el mensaje "FALLO en la Conexión"? 