Looks like it might do the trick, but I'm having trouble implementing the code. First off, I'm in VB, C, so that may be an issue. But I can't get your first line to compile without error. I get:
"Renderer is not a member of ESRI.ArcGIS.Client.Layer"
And as long as we are at it, I'll need to be able to identify the correct layer, preferably by name, since about a dozen layers are being added and run through the same Legend_Refreshed event. I don't want to re-label the legend in every layer. I can't seem to find a Name/ID/etc. parameter that I can identify the layer with.
A suggestion for future versions. Either have the renderer handle empty/null values in an attribute field the way the ArcGIS renderers do, or be able to put a Label on the Default value without having to use code in the Refreshed event.
-Tony