WP_Query Pagination on multiple-loop page breaks WP or doesn’t show up

Why can’t you write custom pagination?

function theme_get_next_posts_link($query, $label = null, $max_page = 0)    
    {       
        global $paged;      
        if(!$max_page) $max_page = $query->max_num_pages;       
        if(!$paged) $paged = 1;     
        $nextpage = intval($paged) + 1;     
        if(null === $label) $label = "Older Posts";     
        if(!is_single() && $nextpage <= $max_page):         
            $attr = apply_filters( 'next_posts_link_attributes', '' );          
            echo '<a class="page-l" href="' . next_posts( $max_page, false ) . "\" $attr>" . preg_replace('/&([^#])(?![a-z]{1,8};)/i', '&$1', $label) . '</a>';     
        endif;  
    }       

    function theme_get_previous_posts_link($label = null)   
    {       
        global $paged;      
        if(null === $label) $label = "Newer Posts";     
        if(!is_single() && $paged > 1):         
            $attr = apply_filters( 'previous_posts_link_attributes', '' );          
            echo '<a class="page-r" href="' . previous_posts( false ) . "\" $attr>". preg_replace( '/&([^#])(?![a-z]{1,8};)/', '&$1', $label ) .'</a>';     
        endif;  
    }

Using:
<?php theme_get_next_posts_link($first_query); ?> for Older Posts
<?php theme_get_previous_posts_link(); ?> for Newer Posts

In your code:

<?php
    global $paged;
    $args = array(
        'post_type'=>'post',
        'post_status'=> 'publish',
        'paged'=> $paged,
        'ignore_sticky_posts'=> 1,
        'posts_per_page'=>10 // -1 - all
    );
    $fp_query = new WP_Query( $args );
    if ( $fp_query->have_posts() ):
    while ($fp_query->have_posts()) : $fp_query->the_post();
?>
    Posts
<?php endwhile;?>
    <div class="longLoopNav">
        <div class="alignleft"><?php theme_get_next_posts_link($fp_query); ?></div>
        <div class="alignright"><?php theme_get_previous_posts_link(); ?></div>
    </div>
<?php endif; ?>