How to properly use Categories with Custom Post Types

Your get_posts call needs a posts_per_page argument if you want more than whatever the default number per page is. Use -1 to retrieve all matching posts.

$featured_posts = get_posts( 
    array(
        'post_type' => array( 'post', 'books', 'cds', 'maps' ),
        'category' => get_theme_option('featured_posts_category'),
        'posts_per_page' => -1
    )
);