WP_Query and help with the loop for magazine front page

There is no reason to need 2 loops or to alter the query in any way if your are just showing the 9 most recent posts. You can use a loop counter to create the extra divs you need.

<div id="featured">
<?php $count = 0;
if (have_posts()) : while (have_posts()) : the_post();
    $count++;
    if ( $count < 4 )  { //display of first 3 posts ?>
        <div id="featured-<?php echo $count; ?>">

        <?php //do stuff here ?>
        </div> 
    <?php }

if ( $count == 4 ) { //closes the featured div adds the links in the center then opens the columns div ?>
    </div> <!-- /close the featured div -->
        <div id="recent">
          <hr> 
          <ul>
              <li>Recent News</li>
              <li>View more news...</li>
          </ul>
<div id="columns">
<?php }
    if ( $count > 3 && $count < 10 ) { //Next 6 posts ?>

        <div id="recent-<?php echo $count - 3 ?>">

        <?php //do stuff here ?>
</div>
<?php }

     endwhile; endif; ?>
</div> <!-- /end columns -->

You need to make sure reading settings are set to show 9 posts per page or create a new wp_query with posts_per_page set to 9.

The $count variable will determine how the post is displayed as WordPress goes through the loop. When $count = 4 we show the extra divs and html you need in the middle of the page.