Using WP_Query and Query_post for the loop?

query_posts will clobber the main query. You’ve overwritten the original set of posts. Don’t use query_posts Instead create a new WP_Query object for your second set of posts, and another Loop.

It sounds like what you are trying to do is overly complicated. “Mixing” two queries is not likely to be worth the effort. It appears that you are going to have two queries anyway, so just run two Loops.

Your first Loop would look like you have it already.

if (have_posts()) : while(have_posts()) : the_post();
  // 
endwhile; endif;

Your second, using a new WP_Query object, would look like:

$my_query = new WP_Query( $args );
if ($my_query->have_posts()) : while($my_query->have_posts()) : $my_query->the_post();
  // 
endwhile; endif;

If you really must “mix” the two Loops then:

$combloop = $posts;
$my_query = new WP_Query( $args );
$combloop = $combloop + $my_query->posts;
foreach ($combloop as $post) {
  setup_postdata($post);
  //
}

Loops really aren’t meant to be merged like that. I believe it should work but you could have problems, especially with something like pagination.