I can think of a couple of possibilities that might help. It may be that the part that the cylinder is being added to has other external references. If so, you can select "Allow multiple contexts for parts when editing in assembly" in Tools/Options/System Options/External References. This should also help if the "broken" external references are somehow still being referenced by SolidWorks. (I seem to recall that others in the forums have suspected that this happens.) If breaking the references doesn't completely eliminate them from SolidWorks' understanding, then another possibility would be to check for external references in the parts and eliminate them by hand. (This also makes sure that you have got them properly re-referenced.)
I was having the same issue.
Thank you Jerry!