How to update C++ code for Blueprints?

So, I have created this new C++/Blueprint Plugin called DynamicValuePlugin out of some direct C++ code from one of my pet projects. Now I am facing a serious usability problem when I want to replace the original same functionality C++ code with my newly created plugin. My project’s Blueprint logic is heavily dependent on the original in-project DynamicValue facilities, how do I smoothly migrate all the dependent Blueprints to use the Plugin code than the original code?

It seems that this is also one of the serious limitations of using BP: once any Blueprint logic relies on any C++ code, the C++ code is “locked”, and any modifications to the C++ code would potentially break its dependent BP - worst: in my situation, I attempted to just remove the old non-plugin C++ code, and add the same code in the form of the Plugin (no C++ name change), when I start the editor, all the references to the DynamicValue facilities in BP becomes invalid, regardless that the Plugin has all the same names.

This basically makes the seemingly sound engineering practice invalid: toy with some C++ code for BP in a project, and once I feel the C++ code is ready to become a plugin, I created the plugin, but then I find as the original author of the plugin, I myself cannot easily use this plugin. This is really frustrating.

If anyone can shed some lights on how you may have encountered the problem and how you solved it, that would be greatly appreciated!

Thanks in advance.