Handling single.php in Multisite

I’m surprised get_current_blog_id() didn’t work, since that’s probably the best way to approach it. Always try doing a var_dump( $current_blog ) to make sure you’re testing for what you need. Edit (19 Aug 2015): Also, triple check that you know which header you’re expecting to see and that you’re making the change you want in the right header file.

Alternately, consider making a child theme and replacing the header that way. That may be more maintainable over the long run, particularly if you plan on using unique headers for other sites.

Also, you can use get_header( 'blog2' ) instead of get_template_part( 'header', 'blog2' ). Same result but the first way’s a bit cleaner.