I don't know if this is exactly what you wanted but I got around the problem by hacking the template and using JavaScript to enter a coupon code when a certain item was detected in the cart.
in templates\tpl_checkout_payment_default.php after the code block that begins:
$selection = $order_total_modules->credit_selection(); the next line starts an if statement and after the closing brakets of that add this code:
PHP Code:
<?php
}
$products = $_SESSION['cart']->get_products();
for ($i=0, $n=sizeof($products); $i<$n; $i++) {
if ($products[$i]['id'] == 19) { // mine was product 19 but this can be set to the ID of the product you want people to buy inorder to get savings
?>
<font color=red>Thank you for your order of specific product! Your discount will be reflected in the next step.</font>
<script language="javascript">
document.forms[1].dc_redeem_code.value = 'COUPON_CODE';
</script>
<?php
break;
}
}
?>
Not very elegant but it's working on my test server.