Got this working, here is my example, displaying a category list based on which categories have been most recently updated and excluding four categories, News, Reviews, Specials, and Featured.
<?php
// get 5 latest posts, display the categories used on those posts (most recent categories)
$cat_array = array();
$args=array(
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => 5
);
$my_query = null;
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post();
$cat_args=array('orderby' => 'none');
$cats = wp_get_post_terms( $post->ID , 'category', $cat_args);
foreach($cats as $cat) {
$cat_array[$cat->term_id] = $cat->term_id;
}
endwhile;
}
if ($cat_array) {
foreach($cat_array as $cat) {
$category = get_term_by('ID',$cat, 'category');
if ( $category->name != 'News' && $category->name != 'Reviews' && $category->name != 'Specials' && $category->name != 'Featured'){
echo '<li><a href="' . esc_attr(get_term_link($category, 'category')) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a></li> ';
}
}
}
wp_reset_query(); // Restore global post data stomped by the_post().
?>