Can any BP experts suggest a scenario when you might want to implement BOTH Interface and EventDispatcher mechanisms to communicate between 2 BPs?
I can’t think of any scenario.
If you want A and B to be decoupled while having B call an event on A then you would use an Interface on A and B would need an object reference to A to call the interface on A.
If you want to use an event dispatcher then also using an interface is meaningless since if B has the event dispatcher then A needs to know what class B is to bind to it. You can’t bind to an event dispatcher through an interface.
What you might be looking for is inheritance combined with Event Dispatchers.
If A needs to know when B (dog) is hungry then the dog should have a base class of type Animal with a hungry event dispatcher. Then A can bind to B(dog object) but only cast to type Animal.