It turned out to be the use of ‘FObjectFinder’, via C++ to get a reference to the Blueprint classes for spawning later at runtime, that caused the pin disconnection on restart. I had forgotten they were being created in C++ via this method which is why my re-production method did not include it.
I have since changed from using ‘FObjectFinder’ with path references, where I now store member references to Blueprint classes in a Blueprint class instead. This worked out nicely since I had already intended to eventually do this for a simpler and more reliable means of storing references to Blueprints (instead of having error-prone paths manually entered into a datatable).
I still spawn the Blueprint actors via C++ but not using ‘FObjectFinder’ anymore has stopped the issue of them disconnecting on Editor restart.
While I have a better approach that now avoids this issue, it is still an issue that I don’t believe UE4 should be causing to happen (especially seeing as re-connecting the pins allowed me to re-compile and run the game fine, meaning it appears that there was no intentional cause for them to be disconnected on Editor restart).
I will update my re-production steps tonight or tomorrow when I have time to grab down the old build from our repository and test it in a new project (so as to not waste any more of your time).
Thanks.