It should be possible to use model elements in a protected model library package without having to unprotect the library for specific actions relating to associations. Moreover, reimporting the library (with Component Sharing Wizard) should not upset the use of the library in a model, except of course where prior model library items are to be removed, and then it would good if CSW gave a warning that this will happen.
Specific issues are:
1. Whilst a model library block can be specialised by a block in the model, none of the inherited properties can be redefined without unprotecting the model library. (This is critical for being able to deploy the model library blocks into a model.)
2. it is not possible to form an association between a block in the model library and a block in a "model" package. (I'm less precious about this, but the language allows it as the association ends up owning the "role" property and not the block in the model library, which remains unchanged.)
It would also be useful to be able to change a package into a <<modelPackage>> (and vice versa), possibly by simply applying the stereotype. As it stands (IM v8.3), this is not possible and a new package must be created and the contents moved from one to the other. (Which results in a new package ID.)