When a host goes down, it suppresses it's services from sending notifications, however the services will still continue to be checked (unlike in dependencies).
One of the most overlooked setting is having your host and service check intervals set to the same. When this occurs, your service objects can send notifications out before the host object goes down.
I have this explained in a lot more detail here:
http://sites.box293.com/nagios/guides/c ... -intervals
Also, a new feature in Nagios Core 4.1.x is called host_down_disable_service_checks. It can be explained as automatic service dependencies for a hosts services.
My advice is as follows:
Make sure your host objects have the correct intervals so the host object goes down before the services do.
AND
Upgrade to Nagios Core 4.1.1 an implement the
host_down_disable_service_checks=1 setting in
nagios.cfg.