The purpose of color coding bones is for the rigger to mark certain control bones, such as IK end effectors, or being able to tell the difference between left and right for example.
The current implementation in CVS is a little strange, since bone colors are forced on the user.
For example in the upcoming 2.40 version, when enabling IK for a chain, the last bone in the hierarchy (the one wich owns the IK "constraint") is colored instead of the actual end effector.
The end effector/IK goal is the bone/object you want to stand out, not the last bone before it.
Bones with constraints are also automatically colored in the current CVS.
Instead bone colors should be user customizable on a per-bone basis.
It's very important to be able to color a bone on the left side of the character to a green color, and the right side to red, to be able to quickly tell wich side you're seing when animating from a side-view, without having to change the view or select from an Outliner.
There are workarounds such as coloring the proxy meshes, or using non-armature end effectors (and losing all the pose mode goodness), but since the bones are now automatically colored depending on constraints or IK, it just adds confusion.
It's not the one or the other here. The current coloring I added to quickly see in a Pose what exactly has been edited here. It is useful to see where the IK constraint is, the other constraints, or which bones have actions... useful for debugging especially.
(BTW, the IK constraint was in old versions always on the child bone of the effector... that was a weird convention. I've made it now default to have IK on the effector itself, but for backwards compatibility the old method is available as option still).
In other situations you'd like to see custom colors yes. Think for example of visualizing bone weights for multiple bones. That's just part of the long todo, and I like to prevent it to become a lot of work for users to edit.
Another idea is to introduce NULL bones, with a distinct drawing, for example for use as IK handles.
But, your arguments are a bit weird...
1) Customizing I consider *per definition* bad. It should serve goals to become useful.
2) My purpose is to deliver the best visualization of armature rigs as possible, so you can edit all of it in a 3d window. Being able to see where the IK effector is, or a constraint, therefore is useful, not "forcing things on the user".
3) Bones now draw solid/zbuffered as well. No confusement in what is on the back or front in sideview...