Posting an update on this in case anybody else encounters the same issue, as it seems most people don’t know what was causing this. I submitted two bug reports to Epic but they ignored both of them, which was helpful.
The issue seems to be some circular dependencies, which are quite easy to create in Blueprints but don’t cause an obvious problem most of the time. In my case all it did was break some kind of initialisation when loading the editor, because if I corrected the values the blueprint would function correctly for the rest of the session. Despite this being a problem for some time, there is no built in tool or validation check to prevent this, it simply breaks things silently without warning or explanation.
The way to find the potential dependency loop is this plugin which is available for free on the marketplace. Not all loops seem to cause this, so I’m not sure what the specific conditions are.