Transferring from Forum discussion
John,
First and foremost, I would expect the system to be consistent in how it handles the precedence of system vs. blog settings, either system settings always override blog settings or blog settings always override system settings. Whether the setting value is being pulled from cache or read from the database shouldn't alter that.
Second, I would advocate that blog settings should take precedence and override system settings of the same name. In that way, default values could be specified at the system level and then tweaked as necessary for individual blogs. I notice that there is a "can override" field in the database schema but it doesn't seem to be used and I think it is probably superfluous anyway. If there is a system setting that blogs shouldn't be able to override, just don't provide the code for the blogs to override it.
When dealing with large numbers of blogs, being able to set defaults at the system level really cuts down on the effort to manage mass changes of the desired default behavior. It's simply amazing how often the corporate "standard" for something changes and if I can change one system setting and automatically update all blogs that are configured to use the system default (or rather NOT configured to use something other than the system default) then my life is easier as the admin.
So what I would like to see happen is the cache handling code should be flipped so that it honors blog settings over system settings the same way the database code in functions.php::get_gettings() does.
Regards,
Bryan.
--
Bryan Thale
Motorola Open Source Technologies, Mobile Devices