I’m not sure I have enough info for this to work as you expect. I can tell you that what you are using won’t work for a few, regardless of the filters you use.
First error:
You are using brackets that aren’t closed
Second, you are using if have posts… but then you reset it at the very end of the code.
Here is what I’ve put together that fixes the above errors, but I’m not sure it will work the way you want (at least the syntax is correct).
<?php
/*
Template Name: Archives with Content
*/
get_header(); ?>
<div id="main-col">
<?php
suffusion_page_navigation();
suffusion_before_begin_content();
?>
<div id="content">
<?php
global $post;
if (have_posts()) : while (have_posts()) : the_post();
$original_post = $post;
?>
<div <?php post_class('fix'); ?> id="post-<?php the_ID(); ?>">
<?php suffusion_after_begin_post(); ?>
<div class="entry-container fix">
<div class="entry fix">
<?php suffusion_content(); ?>
</div><!--/entry -->
<?php endwhile; ?>
<?php else : // Due to the inclusion of Ad Hoc Widgets the global variable $post might have got changed. We will reset it to the original value.
$post = $original_post;
suffusion_after_content();
?>
<?php endif; ?>
</div><!-- .entry-container -->
</div>
</div>