We were able to work through this in a connect meeting.
It was just a matter of adding:
<?
if ($WA_Store_Cart->GrandTotal() == 0) {
$GLOBALS['WAGLOBAL_Gateway'] = 0;
}
?>
To the top of the pages:
webassist/plugins/shopping_cart/checkout_form.php
webassist/plugins/shopping_cart/cart_readonly.php
webassist/plugins/shopping_cart/process_transaction.php
(note: the code needs to be placed immediately below the ->GetContent() call for the cart.)