It took me a while to trace through the code, but I found the problem. If some kind developer wants to take note, here's the problem and the fix:
Near the end of wp-settings.php is the item:
do_action('init');
This really calls kses_init from wp-includes/kses.php.
Within kses_init is a call to "get_currentuserinfo()", which is what is throwing the error because there is no current user. Below is a version (OK, I'll admit there might be a better way, but hey, this works!) that fixes the problem:
function kses_init() {
global $current_user;
global $wpdb;
$wpdb->hide_errors();
$ret = get_currentuserinfo(); // set $current_user
$wpdb->show_errors();
if($ret == false)
return;
if (current_user_can('unfiltered_html') == false)
kses_init_filters();
}