If you consider, for example, removing a host element, the references are to your benefit, since they indicate which configurations will probably break without that host element. Some elements with a lot of references may be laborious to delete but it's probably not every day that security engine elements are deleted, for example.
However, to delete a situation, you should not need to delete a context. Rather the other way around; though contexts are system elements that cannot be deleted. So that sounds like an issue if it is indeed happening as you described.
I understand the benefit, but it's really annoying. Especially, in case that it's keeping referenced by another objects, and we have to delete or remove these objects in sequence. Why doesn't mcafee just promt user: this object is using in this rule, are you sure to remove... and then remove that object.
I understand your frustration.
However if you have a simple rule set then deletion of a referenced object would be ok, to some degree as you have less places to really look at for potential error. But lets say you have a rule set with 200+ rules and you delete an object with 70 references. You may end up having 70 rules which have a blank source or destination or situation, which the firewall/firewalls will now have an issue trying to process rules with null or incomplete references, and if the firewall did by chance happen to apply the new rule set, then you have 70 rules that have some misconfiguration or 70 rules to remove, which you would have removed anyway during the search for potential references. A positive side of the references is that you will learn you rule set better by knowing how it is all linked together.