Rick,
I really like your last example for several reasons.

ATTRPRIORITY=NONE along with STYLEATTRS DATALINEPATTERSN=(SOLID) is usually my favorite variation on attribute priority with grouped data.

As you point out, LEGENDITEM is new. Before it came along, we had a number of tricks like packing the legend title with additional legend information. This is so much better! You might use annotation or some other method to put something additional in a graph, and the default legend does not quite convey what you want. LEGENDITEM can be a big help.

Another important technique is available in attribute maps. Show='AttrMap' ensures that the legend appears in the order in which the values occur in the attribute map data set. Again, we resorted to trickery to achieve this in the old days.
Warren