Sorry, i dont know the answer, but i do have a theory. I have a similar problem in a couple of simple parts i've just created; one part has a user parameter that isnt being used but wont delete. My theory is to do with model parameters; through the course of designing a part, you will probably delete dimensions from sketches etc, and as i understand it, these dimensions still remain in the part, albeit not used, because whenever you create a new dimension, it has a unique 'd' number. For instance, if you add a dimension and its d18, then delete it and put it back, the new one will be d19. Now, what happens if a deleted dimension uses a user parameter? In the parameters dialogue box, only model dimensions in use appear; but i guess the deleted ones still exist in the part? Could therefore a deleted model dimension that references a user parameter be preventing that user parameter from being deleted?
I'd like to know the answer to that, even if its helpful to the OP question or not. Is there anyway to "purge" a part or assembly of unwanted variables etc?