By the way I solved this issue adding two lines on that function to force get_blogs_of_user to return only administered blog, but i’m not sure if that function has to return all the blogs for wordpress to work correctly or not:
Index: user.php
--- user.php (revisión: 533)
+++ user.php (copia de trabajo)
@@ -688,6 +688,8 @@
continue;
if ( substr($key, -12, 12) != 'capabilities' )
continue;
+ if ( !isset($value['administrator']))
+ continue;
if ( preg_match( '/^' . $wpdb->base_prefix . '((\d+)_)?capabilities$/', $key, $match ) ) {
if ( count( $match ) > 2 )
$blogs[] = (int) $match[ 2 ];
[Please post code snippets between backticks or use the code button.]