So, the reason that dependencies work in SolarWinds has to do with the way the SQL definition of a 'Down' alert works.
Basically, when you search for a 'Down' event to alert on, you're really looking for an object (node/interface/application/group/etc) where Status = 2
Dependencies add an addtional layer (of sorts) to the mix by correlating "Parent" object status with the "Child". Meaning that if the "Parent" Status = 2 (down), then, no matter what, the "Child" Status will = 12 (unreachable).
The key here is to realize that this child status does not really have much to do with any other alerts, such as high packet loss.
The way to work around this would be to update your High Packet Loss alert to only evaluate against nodes whose status is equal to Up or Warning (Ignoring Down, Unreachable, Unknown, and Unmanaged).
Loop1 Systems: SolarWinds Training and Professional Services
Thanks for the explanation and the hint. I will change high packet loss alert
to check if the node status is up or warning.