You want a plugin to add users to blog 1, when they create a blog. The add_action in the code you've got there only fires when a new user is created, then never again.
The conflict may be the with the dashboard blog option in SiteAdmin-->Options.
If left blank, the Dashboard blog is blog 1. So when a user without a blog creates a new blog, WPMU looks for membership in the dashboard blog and removes the user ... or some such cycle you've experienced.
What I think is going on is that the parameter $blog id also needs to be in the plugn code you want so the user is placed in blog 1 when a blog is created - wpmu_new_blog - (as opposed to when a user is created, as you have there).
The code I'd use looks like this, and I've added users, then blogs to verify that it works for me still:
function ds_new_user_meta($blog_id, $user_id) {
add_user_to_blog('1', $user_id, 'subscriber');
}
add_action( 'wpmu_new_blog', 'ds_new_user_meta', 10, 2 );
Users that are members of blog 1 stay in blog 1 after creating another blog.
Oh, I don't have an install with BuddyPress.