Because I used query_posts your loop-land template is clobbering the main query. Don’t use query_posts. In loop-land I did this instead:
$land = new WP_Query($query_string . '&caller_get_posts=1&posts_per_page=9');
if($land->have_posts()) : while($land->have_posts()) : $land->the_post();
What happens is that query_posts overwrites the main Loop and you loop over that. When you get to the have_posts part of the second loop, the post counter is already at the end. You’ve already Looped through the posts.