I’m still on 4.5 and not experiencing this bug so don’t take my word for it, but I think you can reduce that to:
Close Editor > Compile > Start Editor
The first recompile (hot-reloaded) is redundant because the fresh recompile gets rid of hot-reload modules. Reparenting persists after you save your blueprint, so once it’s done for the first time, it shouldn’t be necessary anymore.
As for functionality in the editor, BlueprintCallable and BlueprintImplementableEvent are pretty much direct opposites:
BlueprintCallable produces a native C++ function that can be called from Blueprint. The intent of these is generally C++ -> Blueprint communication.
BlueprintImplementableEvent produces a native C++ function thunk that does nothing unless you implement it in Blueprint. The intent of these is normally Blueprint -> C++ communication.
Tagging a function with both gives you a function that can be called from Blueprint (and C++) but won’t do anything until you also create an implementation in blueprint.