Maybe it's late, but I'm still confused on the concept and implementation of layers to control work planes & axis.
I create my parts, and in most cases add a datum plane or two. And when I get to the point I want to start assembling parts, I get my parts with all their datum planes either on or off (globally). And, when I'm assembling parts, I may want to align this plane to that one, ideally only turning this one and that one on for one constraint. Seems like overkill to constantly go into layers to turn on a datum to aply one constraint, then turn it off again, and maybe on again a few parts down. I'm gettign to the point, that my created planes are getting renamed to things that make sence, then I'm just blindly mating planes to planes while they're all 'off' thru the model tree..
I have no love for managing layers. I start all my parts and assemblies with "empty" sets. No predefined anything.
I live by the graphic menu button to turn on and off the axes and planes. But for the most part, I too pick from the model tree. If they are dedicated planes, they get named such.
But there are more tricks. You can assemble by temporary constraint references. This is one less series of clicks the second, third, twentieth time around. It is not quite the effort of defined constraint references based in the part or subassembly. You have to enable this feature in config.pro; create_temp_interfaces yes
And you can also duplicate (tree|sel part/asm|RMB|"repeat") an installed part or subassembly. Here you can further minimize the reference picks.
The beauty is that you can easily choose your favorite selection method. Flipping layer status is not my favorite.
However, I am in full agreement that on the surface, planes and axes visibility is difficult to manange in complex parts. When you assign them to GT&D tags, their visibility can become insanely complicated because their status overwrites the visibility button in too many instances. This is historical.
Our models used to show all the Datum Planes(*) when the user would toggle the Plane Display on. It was driving me crazy because in a large assembly dozens, maybe a few hundred Datum Planes would become visible.
So I started to hide all the Datum Planes by default. I hid those layers and used "Save Status" to keep them hidden. Now when a user would toggle the Plane Display to on...nothing would show.
Next step was to only show the datums a user would need. So I created a mapkey that would toggle the layer status of a selected component on/off. Now a user could selectively show/hide Datum Planes of the components he needs to constrain.
Some more mapkeys were created to toggle certain layers on/off (by name).
Last but not least, a little trick I use when I need to constrain a component when I know how the component will be constrained...
Voila, without even showing and hiding any layers I have placed/constrained my component. (who needs those stinky layers anyway ;-))
(*) I say Datum Planes, but this also applies to Datum Axis, Datum Points and Coord Sys.
We also hide all datums via layers by default. The user can then turn on the layers for just the parts they need to see or use the find tool to get the datums they need.