One final idea/question. I frequently deal with ontologies in my work -- how things are organized, hierarchies, "this-is-a-" relationships, etc. So I've been dwelling a bit on this:
When I present you with a random element, you're going to immediately mentally put it into some category. And if you were going to sort it, it'd go into a bin. Do you rely on any of the "established" systems, or just what feels right based on your experience?
I personally feel that BrickLink has the most "natural" grouping, also with an attempt to have second level groups like "brick, modified" and "technic, liftarm." And sorting to their system is advantageous if I am buying/selling bricks. But the tool that I use most often is BrickSmith/LDraw. I doesn't feel quite as natural, and it has too many useless top level categories, but if it's the tool that I'm using........ And finally, of course, LDD's grouping has the imprimatur of TLG. It is also largely based on functional categories, which is very useful and a natural way of thinking about building.