Great thanks! – for anyone that is wondering
I had to change the way the second and subsequent loops were queried from:
<?php if (have_posts()) : while (have_posts()) : the_post();
if (in_array($post->ID, $do_not_duplicate)) continue; ?>
to:
<?php query_posts (array('post__not_in'=>$do_not_duplicate, 'category_name'=>'stories', 'posts_per_page'=>'1')); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
All seems to be working correctly now.