I found the problem. It’s a bug in the plugin. On line 473 of wp_show_posts.php it has the following:
<?php the_content(false, false); ?>
The first argument is supposed to be null, not false (apparently these are not equivalent in php). If I change it to null (or just call the_content with no arguments) then the filter works.