Ok I found a more elegant solution that seems to work so far:
<?php if (have_posts()) : ?>
<!-- you want to show 7 posts per page... -->
<?php
$col = "left";
query_posts("showposts=7");
while (have_posts()) : the_post();
?>
<?php if ($post == $posts[0]) { ?>
<!--toppost -->
<div class="toppost" id="post-<?php the_ID(); ?>">
<!-- Most recent post here -->
</div>
<!--/toppost -->
<?php continue; } else { ?>
<?php if ($col == "left") { ?>
<!--row -->
<div class="row">
<?php } ?>
<!--post -->
<div class="smallpost <?php echo $col; ?>" id="post-<?php the_ID(); ?>">
<!-- Older post goes here, either on left or right -->
</div>
<!--/post -->
<?php } ?>
<?php if ($col == "right") { ?>
</div>
<!--/row -->
<?php } $col = ($col == "left") ? "right" : "left"; ?>
<?php endwhile; ?>
It seems to be very dynamic and elegant, and works well so far.