I do this in Boost 7.x. It's not pretty, but it does get the job done.

- [hook_page_delivery_callback_alter()][1]
- [boost_page_delivery_callback_alter()][2]
- [boost_deliver_html_page()][3]

<!-- break -->

    function boost_page_delivery_callback_alter(&$callback, $set = FALSE) {
      if ($callback == 'drupal_deliver_html_page') {
        $callback = 'boost_deliver_html_page';
      }
    }
    
    function boost_deliver_html_page($page_callback_result) {
      global $_boost;
    
      // Menu status constants are integers; page content is a string or array.
      if (is_int($page_callback_result)) {
        // @todo: Break these up into separate functions?
        switch ($page_callback_result) {
    
          // …
    
          case MENU_ACCESS_DENIED:
            // 403 page.
            $_boost['menu_item']['status'] = 403;
            break;
    
          // …
    
        }
        // …
      }
      // …   
    }

  [1]: http://api.drupal.org/api/drupal/modules--system--system.api.php/function/hook_page_delivery_callback_alter/7
  [2]: http://drupalcode.org/project/boost.git/blob/refs/heads/7.x-1.x:/boost.module#l268
  [3]: http://drupalcode.org/project/boost.git/blob/refs/heads/7.x-1.x:/boost.module#l1195