If the object that is destroyed is a UObject, then if you use TSharedPtr to point to the object, IsValid()
will check if the reference is still valid.
This will work if the object has been destroyed, though the pointers may prevent the object from being garbage collected.
So perhaps in combination with this you could define a function bool MinionClass::IsDead(), which could be called by the actors holding the pointers after checking IsValid() on the pointer, and would return true if the minion has been killed (in which case you select a new target etc) and false otherwise.
Does that solve it?