Jason,
I tried your theme (version 1.2) on a test blog I have. Checkout this screenshot. The selected state seems to be working fine out-of-the-box for categories (‘Training’ is a cat).
Did you make any changes to the menu in header.php that could have altered this behavior?
The code that I have for the menu is as follows:
<!--Menu-->
<div id="menu">
<ul id="navigation" class="nav wrap">
<?php if (is_home()) { $highlight = "home_item"; } else {$highlight = "not_home"; } ?>
<li class="<?php echo $highlight; ?>"><a href="<?php bloginfo('url'); ?>"><span><?php _e('Home'); ?></span></a></li>
<?php $blogcatid = get_option( 'viro_blog_cat_id' ); wp_list_categories ("depth=-1&title_li=&include=$blogcatid"); ?>
<?php wp_list_pages('sort_column=menu_order&depth=4&link_before=<span>&link_after=</span>&title_li=&exclude='.get_option('viro_nav_exclude')); ?>
</ul>
<!--Search Form-->
...
</div> <!-- End Menu-->
Both wp_list_categories
and wp_list_pages
should be inserting a current-page
or current-cat
class to the current item by default.