Make Custom Post Behave Like Normal Post?

The reason its messing up is because its adding the custom post type everywhere. You want to limit it to just the main loop of the main page. Justin Tadlock wrote an article on how to do that here. Here is what your code should look like:

add_filter( 'pre_get_posts', 'my_get_posts' );

function my_get_posts( $query ) {    
    if ( is_home() && $query->is_main_query() )
         $query->set( 'post_type', array( 'post', 'page', 'projects' ) );    
    return $query;
}

This limits it to just the main loop of the home page.