I'm using 2004, and the Description Key Manager is pretty weak. From what I've heard, though, I'm getting the impression that it hasn't been improved at all in the newer versions, which is very disappointing. We're in the process of getting Civil 3D + Survey 2006, so shortly I'll be able to say if it's been improved, or is as bad as in 2004.
That being said, I use the description key manager all the time. It's very useful, just limited, quirky, and annoying in many respects.
A key thing to remember is to put the bulk of your point descriptions in one file, and then any "project specific" point files in the DEFAULT description key file. When doing this, set the point label style to use your main description key file, and thenmake sure you have "Perform extended description key search on DEFAULT.MDB" selected in the point settings.
Your field surveyors probably have a set of "point codes". For demonstration purposes, let's assume you have something like 100 = FL of curb, 101 = TBC, 102 = Back of Walk, etc. Put all these in a description key file, and save it to a prototype. If you need to add a new code to (or change a code in) this list, first make sure you are doing it in an up-to-date version of the description key file (i.e., load the file from the prototype, overwriting the one currently in the project). Make your changes, and then write the file back to the prototype. Now you can manually load the up-to-date description key file into existing projects as needed.
If you have any "project specific" codes to a project, do it in the DEFAULT description key file, and not in your primary description key file. Otherwise, it becomes impossible to keep description keys synchronized among various projects. Net result (or at least, the goal) is all of your projects use an identical description key file for the bulk of the codes, but the "DEFAULT" description key file can vary from project to project.
Note that you can use limited pattern-matching in description keys. For the codes mentioned above, you could define the description key Code as "100*", and specify "FL $+" as the description key Format. The asterisk means "match anything", and the "$+" means "replace with all arguments from the input". In other words, you surveyor can key in additional information after the 100. Here's some examples of the results from a description key defined in such a manner:
Code:
Input Output
100 FL
100 8" CURB FL 8" CURB
100 END FL END
Note that the drawback to this is that it will match ANY description starting with "100", which includes "1000". And if you enter a Code like "100 *" (with a space), then your surveyor MUST type the space after the 100, or it won't match. Like I said, these description keys are pretty limited. (I actually run the points through a Perl process I wrote as a kind of "preparser" before importing the points. It's one more step, which is annoying, but Perl has considerably more parsing options and this gives us a lot more flexibility with our point codes/descriptions.)