The problem is that we have managed to have minimal changes in most of the portal pages and just work with the theme/template folders.
I want to be able to compare new versions of MonoX with the build we skinned and not see different files where I don't need to (e.g. just for the theme in the page header setting). I'd prefer those files to stay the same and not be shown to me by WinMerge tool (
http://winmerge.org) or by version control
So I'd prefer to have the pages keep the Theme="Default" that they now have and not touch it. I hoped changing web.config would do the job, but seems the setting in the pages take precedence (pretty unfortunate design choice by Microsoft in my opinion)
So the db system you implemented suits me, if only there was a theme per-site override setting (in the db via the admin UI) that would override the hardcoded in the pages but NOT OVERRIDE any theme overrides set in the db via the admin UI for specific pages. That would be ideal (and very flexible in my opinion if you plan to implement a theme switcher in the future)...
...else, even having a shortcut action in the admin UI to set the theme for all pages in the db table in one step would be nice, since then for any pages that don't use our theme we'd go to them in the admin UI and set them to any other skin. Now we have to go to each page to set the theme in the admin UI and we may forget some, plus its tiresome and also we have to do it multiple times, e.g. on the designe/skinner's machine and on the production server (since I don't want to use the designer/skinner's test database but start with a new clean one on the production machine)