FWIW, what most people expect from layer locking is just "make this layer safe so I don't accidentally change it (or the objects on it)".
After some thought, I think the best set of behaviors are these:
* tools capable of selection only select objects if they are visible, unlocked, and all of their parents are unlocked
* drawing tools can only draw if the current layer and all its ancestors are visible and unlocked
* locking a layer unselects all selected descendants of that layer, but locking an object does not unselect that object
Per Peter's suggestion, "locked" may not be the most appropriate label for the per-object locking (since it doesn't render the object immutable, really), although I think "insensitive" is marginally too jargony.
Inverting the meaning and labeling it "selectable" might be most appropriate.
Layer locking ought to remain called "locking", though, since that is the common and expected term.
-mental