Guys, I am so stumped on this problem and this group has helped me in the past, so I'm hopeful you can help me now.
I have a multi-site installation that uses this configuration:
-- sites
--all
--themes
--modules
--default
--settings.php
--files
--site1.com
--modules
--themes
--settings.php
--site2.com
--modules
--themes
--settings.php
We have a "back-end" administration site that uses the themes and modules in the "all" folder. The settings for that site are in default/settings.php.
Then we have two subsites -- essentially I have the "front-end" site, and then I want to do a mobile site.
I have the default theme set in the settings file of each sub site (and the main site, in the default/settings.php file). I can have the theme active in the default (back-end) site and in ONE of the subsites, but if I select the theme in the other site, it de-activates the theme on the first site.
I know that its looking at the right site directory, though, because when I visit that sub-site's page, it has the right site name that I selected in the $conf array.
I'm totally at my wits end with this. Do you guys have any ideas?

Comments
And when I say de-activates,
And when I say de-activates, I mean disables -- Drupal still has the check mark for that theme as the "default" but no themes will be enabled on that site.
This is the error message I
This is the error message I get in my admin/reports/dblog when I visit a page in the the sub-site that's broken.
On further investigation,
On further investigation, that error is meaningless.
BUT!
I realized that my problem isn't so much that one theme unsets the other, but that the theme_default setting in the $conf array in my settings.php file for each theme is essentially meaningless. It only will set the theme if I select it in the database (and there is only one theme_default in the variable table, so when I set one, it will unset the other).
This isn't a problem if I put my themes in the sites/all/themes folder. But due to the structure of our site, I would really rather not do that. Each site is its own SVN repository, and that would require mingling them all in the sites/all folder as opposed to each sites own separate site folder.
Has anyone been able to get it to work multi-site the way it should?
Move as much as you can of
Move as much as you can of the 'admin' site stuff out of sites/all and into sites/default. If you need to share themes, make a sub-theme for each site, such as minelli_site2.com. This will break up the namespace problem you seem to be having.
Hope this helps. :-)
I figured it out!
A part of what I left out of my initial post was that all of these sites are using the same database, with a few tables prefixed (comments, profiles).
I figured out that prefixing the system and variable table fixed my problem. Just add the prefix to your settings file and then duplicate the tables in your database.
I'm not sure what the consequences of prefixing those tables will be for the rest of our site, but ... it works!