Retrieve / call facet blocks from non search page
The problem is, apachesolr_do_query checks if a query has already been made:

apachesolr.module line 1470 :

  // Verify if this query was already executed in the same page load
  if ($response = apachesolr_static_response_cache($searcher)) {
    // Return cached query object
    return array($query, $response);
  }


So, all you have to do to process multiple ApacheSolr queries is to reset the Drupal static variable like so:

drupal_static_reset('apachesolr_static_response_cache');