I'm using a custom-built theme (based on Bones) but I just switched to TwentyTwelve and the same thing happens: works great if the default is "show" and you make an exception on the CPT to 'hide' - doesn't work if the default is 'hide' and you want to 'show'.
I tried deactivating all my plugins as well and no joy.
This is the code for one of my CPTS if that helps:
register_post_type('book_praise', array( 'label' => 'Book Praise','description' => '','public' => true,'show_ui' => true,'show_in_menu' => true,'capability_type' => 'post','hierarchical' => false,'rewrite' => array('slug' => ''),'query_var' => true,'exclude_from_search' => false,'supports' => array('title','editor','revisions',),'labels' => array (
'name' => 'Book Praise',
'singular_name' => 'Book Praise',
'menu_name' => 'Book Praise',
'add_new' => 'Add Book Praise',
'add_new_item' => 'Add New Book Praise',
'edit' => 'Edit',
'edit_item' => 'Edit Book Praise',
'new_item' => 'New Book Praise',
'view' => 'View Book Praise',
'view_item' => 'View Book Praise',
'search_items' => 'Search Book Praise',
'not_found' => 'No Book Praise Found',
'not_found_in_trash' => 'No Book Praise Found in Trash',
'parent' => 'Parent Book Praise',
Thanks for your help!