Is there a callback that is called when a new component is added to an actor?

I don’t know of any callback, but there is the function AActor::AddComponent ( AActor::AddComponent | Unreal Engine Documentation ). I would strongly guess that this is called internally whenever a component should be added to an actor. So for your actor in question you can override this function and if the component implements a certain interface, call the parent method, and if not, simply return NULL (and see what happens, because I havn’t tried it and don’t know what will happen!).