while ((!Serial & millis()< 5000))
Should be &&
bool PING(Host_001);
You didn't say what your sketch did output, but I'm guessing "o.k.". You are using a (non-zero) pointer value to initialise a variable PING of type bool. The variable PING with therefore always be true.
something like bool mypingresult = PING(Host_001); might be closer to what you want.
bool PING(char Host) {
The parameter doesn't have the correct pointer type.