I fixed this problem with wp-hive and now have it working with WP 3.1. I modified two wp-hive files.
db.php (in the wp-content folder)
if ( ! defined('ABSPATH') ) die("Hmmm...");
//require_once( ABSPATH . WPINC . '/wp-db.php' );
if ( ! defined( 'WP_PLUGIN_DIR' ) )
define( 'WP_PLUGIN_DIR', WP_CONTENT_DIR . '/plugins' );
global $wpdb;
if ( !isset( $wpdb ) )
$wpdb = new wpdb( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST );
if ( file_exists(WP_PLUGIN_DIR . '/wp-hive/do-prefix.php'))
require_once( WP_PLUGIN_DIR . '/wp-hive/do-prefix.php');
do-prefix.php (in the wp-hive plugin folder)
Commented out two function calls in the last few lines:
//wphive_force_plugin_active();
// Check if this is a fresh install and fix Siteurl for proper redirect
//wphive_siteurl_for_install($wphive->current_site->path, $table_prefix, $orig_hostname, $wphive->current_site->host);
I realize more changes are needed to add and initialize new sites, but at least this works with existing installations.