I have good news for all those who're trying to set-up a multi-site drupal configuration and face head-aches with table prefixes so as to differentiate content. I successfully configured a multi-site drupal installation with one code base, one database (all tables shared) and each site showing different theme/blocks and different content on its front page.
This requires the following modules:
- views
- taxonomy
- taxnonomy_hide
First you install a standard version of drupal and the modules listed above. I tested this on drupal 5 but I guess it also works on drupal 4.7.x. For drupal 5, the taxonomy_hide module is not officially supported but you will find some builds ported to 5 in these forums. Don't forget to enable the modules through the Administration/Modules page.
Now you need to create a taxonomy vocabulary called something like "Sites" then add terms corresponding to the names of your sites. This is done in the Administration/Categories section.
If you don't want this vocabulary to be visible for the end user, you need to hide it using the taxonomy_hide module. Its settings are available through the Administration/Settings/Taxonomy_hide page.