I think it's time to replace the frob material stages with a shader (probably add a param to the existing ambient shader)
There is more than one angle to this issue but I am mainly concerned about too many stages in materials that are somewhat taxing in terms of performance.
Imagine rendering of 3K surfaces interacting with 3 lights in average and using materials with 7 stages in average.
The renderer loops through every stage for every surface making it ~ 20K checks per loop.
Time I think to revisit the debate: set r_frobIgnoreDepth to 0 by default? I say yes, please! I see nothing wrong with the new frob highlight with this setting, and I think there are a lot of words above to the effect that 1 is troublesome.