Put multiple custom loops on same page

Because you used query_posts your loop-land template is clobbering the main query. Don’t use query_posts. In loop-land do 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.