wp_register_script and wp_register_style when shortcode is used

Your scripts and styles all share the same handle, “fancybox”, which should be unique, and I think that’s your issue. Try this:

wp_register_script( 'mousewheel', get_stylesheet_directory_uri('/js/jquery.mousewheel-3.0.6.pack.js', __FILE__), array('jquery'), '3.06', true );
wp_register_script( 'fancybox-script', get_stylesheet_directory_uri('/js/jquery.fancybox.js', __FILE__), array('jquery'), '1.0', true );
wp_register_script( 'fancybox-pack', get_stylesheet_directory_uri('/js/jquery.fancybox.pack.js', __FILE__), array('jquery'), '1.0', true );
wp_register_script( 'fancybox-buttons', get_stylesheet_directory_uri('/js/jquery.fancybox-buttons.js', __FILE__), array('jquery'), '1.0', true );
wp_register_script( 'fancybox-media', get_stylesheet_directory_uri('/js/jquery.fancybox-media.js', __FILE__), array('jquery'), '1.0', true );
wp_register_script( 'fancybox-thumbs-script', get_stylesheet_directory_uri('/js/jquery.fancybox-thumbs.js', __FILE__), array('jquery'), '1.0', true );
wp_register_style( 'fancybox-style', get_template_directory_uri('/css/jquery.fancybox.css', __FILE__), array('css'), '1.0', true );
wp_register_style( 'fancybox-buttons', get_template_directory_uri('/css/jquery.fancybox-buttons.css', __FILE__), array('css'), '1.0', true );
wp_register_style( 'fancybox-thumbs-style', get_template_directory_uri('/css/jquery.fancybox-thumbs.css', __FILE__), array('css'), '1.0', true );

and then…

wp_print_scripts( array( 'mousewheel', 'fancybox-script', 'fancybox-pack', 'fancybox-buttons', 'fancybox-media', 'fancybox-thumbs-script', 'fancybox-style', 'fancybox-buttons', 'fancybox-thumbs-style' ) );