Look in the header.php file--it does a weird thing to get the pages--anyways I didn't test this but assuming About is ID=2 in your wp_posts table, change
$these_pages = $wpdb->get_results('select ID, post_title from '. $wpdb->posts .' where post_status = "publish" and post_type = "page" order by ID');
to
$these_pages = $wpdb->get_results('select ID, post_title from '. $wpdb->posts .' where post_status = "publish" and post_type = "page" and ID <> "2" order by ID');
no idea how that is impacted by the get_cache line 36 in that header.php, but try the above.
Otherwise you'd have to do an exclude in list_all_pages function...