Jim,
I am suggesting that your example doesn't even hold up within the constraints listed in your example.
Stating that "performance is a valid reason for denormalizing your table" is to general. You need to denormalize in such a way that you have fewer lookups, but not no lookups. Putting the "looked up data" in the base table inflates the table, and that reduces performance even after accounting for the gain of the one less lookup. The denormalized data needs to result in less disk i/o, not more. The only place I can see your example holding up is in ram (ram disk or the whole database is cached); but that is not what your example suggests.
Your example suggests that the performance gain would make a noticeable difference when printing labels. Unless you have a real slow database (dbase2, no indexes on an 8086) and a real fast label printer, even my example won't make a significant (noticeable) difference.
You mentioned testing, and again I ask "Can you show this test?". I may be wrong, but telling me it doesn't apply to all situations doesn't convince me that it will apply in one. If you can show me one where it does apply, then I will take a closer look at my tests to see what I missed.