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
)
);