I'd say it was a bug in the VM tools, normally they work fine.. are you using a supported version of Linux guest OS? Also the service must be running.. Linux you may have installed the tools, and yes if you follow the instructions it SHOULD work, but the tools may shut down for unknown reasons..and therefore the service isn't running, and thus you can't get the host to shutdown normally.
WE have windows, and we still shut down VM's FIRST, before ANY host is shutdown.. you don't want to rely on tools, the guest could hang, or crash, or programs prevent shutdown ... whatever the case, all you have to do is use a script to shutdown ALL the VM's gracefully, then shutdown the hosts.,, You should never rely on the host sending a single signal to initiate a shutdown and assume it's working..
From vCenter you can simply highlight ALL running VM's, right click and use power -> shutdown guest. When you see the VM's are stopped, you can shut down the host. If you see one or two VM's hang, you can investigate why, after you see a few of these you will realize very quickly why it's a good idea to shut the VM's down and THEN the host....