get_last_updated() not working – multisite loop

You can try this instead of get_last_updated():

global $wpdb;
$blogs = $wpdb->get_results("SELECT blog_id, domain, path FROM {$wpdb->blogs} ORDER BY last_updated DESC" , ARRAY_A );
print_r($blogs);

just to see if it changes anything to skip the public, archived, mature, spam , site_id and deleted filters.