While testing an upgrade to 1.5 and moving servers (I used an alternate domain to set up a staging version on the new server) I noticed that the SITEURL and HOME options are sometimes used to create links to parts of mu blogs while other times the information in the 'wp_site' table (for the root blog) and the 'wp_blogs' table (for root blog and children) is used.
Specifically, it seems that the general existence of the children blogs is dependent on the wp_blogs table ( 'domain' + 'path' ), while lots of parts of the admin (the admin blog list, the link to 'view site') depend on the values stored in the 'wp_options' tables of each individual blog (i.e. SITEURL and HOME).
Overall, this creates a pretty big annoying mess. It makes it insanely tedious to set up a working stage backup of site on a new domain because so many DB values need to be modified, especially considering the fact that really you should only have to change it in one place, the single row in 'wp_site'.
Has this come up before? It seems like MU should choose one source for each blog url and stick to it, at least on a blog by blog basis. Given what i've seen of the DB structure, the 'wp_blogs' table seems like the best overarching resource. Could MU just ignore the settings in wp_options of individual blogs in favor of the values stored in 'wp_blogs'? It seems like it wouldn't be too hard to override the behavior (or fill the holes where the old values are still used, seeing as at least some parts of the system (the MU parts) are already usign the wp_blogs values, because many thigns worked after i only changed those but hadn't altered the 'wp_options' versions).
Also: using the HOME and SITEURL wp-config.php defines in wp-config.php as one would with Wordpress.org causes ALL the sites to have their urls overridden, breaking everything but the root blog.
I.e.
//define('WP_SITEURL', 'http://siteurl');
//define('WP_HOME', 'http://siteurl');
Ideally that probably shouldn't happen as there is no reason for someone to want that behavior (but I can't help thinking other people will try the same thing and get burnt worse than careful me). If the HOME and SITEURL constants were changed for the reasons above then ideally they might also fix this.
In a perfect world you would be able to override the value in 'wp_site' in wp-config.php and have it affect all the blogs in MU, but that's just me dreaming (and I can imagine reasons why being ABLE to have multiple domains on one MU install is useful). Making an option for having multiple domains (with the default being to use one authoritative domain) could be a good solution for this.
Thoughts? I'm more familiar with the WP.org world than MU so let me know if I'm missing something important. I think this would be really useful for anyone who tends to keep staging and dev servers (which we all should, right?)