Let me add some screenshots to help explain...
In the image "capture.png" ... you can see I have two fence objects. They use the same profile. I load the profile source material, and change the material id of the base fence part that i've circled. When I load backup the original scene again with two fences, the profile is still recognized as everything is okay, even though I've already updated the profile to have a slightly different base object.
If I try to reload the profile for both objects, the new object does not get imported. The fence material stays the same.
Then in the image "capture2.png", I've deleted the object so there is only one object in the scene using the profile, and I load the profile again. And voila! The material updates on the main fence.... (And my parameters reset to default...)
btw, if I make logic changes, and reload the profile, the profile reloads okay.