posts_per_page not working

The problem with the second query is due to the way that the parameters are passed. In the original code, two strings are being passed, which is not going to work:

 $the_query2 = new WP_Query( 'cat=10', 'posts_per_page=1' );

You can use an array (preferred method):

$the_query2 = new WP_Query( array( 
    'cat' => '10',
    'posts_per_page' => '1'
) );

Or use a query string:

 $the_query2 = new WP_Query( 'cat=10&posts_per_page=1' );