Hmm, I just did a quick test by making a component EditAnywhere (note that generally your components should be VisibleAnywhere, but maybe they were before my suggestion) and setting it to None in the blueprint editor. On reselecting the component the details panel was blank, as you say. I wonder if this is a bug introduced in a recent version - the way components and their properties are displayed in the blueprint editor has changed from when I solved my similar issue a while back. Not sure what else to suggest.
As for callbacks. This is not something I’ve had confirmed by anyone, but I now avoid registering delegates in constructors. I had an almighty bug hunt a while ago where I couldn’t work out why my overlap handler wasn’t getting called. It turned out that a delegate I’d registered in my constructor had somehow been stored (presumably within the blueprint CDO) and remained there even after I changed the code to use a different delegate - despite the fact the original method had been removed from the class entirely, it was still stored in the delegate by name. When I deleted and recreated the blueprint the issue went away.
The idea that blueprints can get into invalid states as a result of just making changes to their parent class really doesn’t sit well with me. Anyway, I concluded that registering the delegates in the constructor was the cause in that instance, but I can’t be sure.