First off, host checks are NEVER made unless a service check fails. The reason why one would be more sensitive than another, is because that is how you have it defined.
command_line $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 1
command_line $USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5
As you can see, the check_ping and the check-host-alive are both using the same check_ping command but with different settings on the -p option.
In your setup, I see you have max_check_attempts 3 for your service, so I am guessing, that in fact, your service never does go critical HARD, but only critical SOFT. Meaning, that yea, on the first try the check failed and shows critical, but on the 2nd or 3rd try, it in fact passed OK. Since it passed OK, then the host check will NOT be made. ONLY if your service check fails for 3 times, will it then make the host check. And since you have your host check set to max_check_attempts 10, I'm guessing that surely it will pass after 10 attempts.
Out of curiosity, how many ACTIVE service checks does your setup make? Also, start using check_icmp, instead of check_ping. Read the ./check_icmp --help, since it's very important to know how to use it correctly.