I think there is an issue into function addOrderCoupon() into file Orders_model.php. Line: 676 Approx.
Might we have replace:
if (is_array($coupon) AND is_numeric($coupon['discount'])) {
with
if (is_array($coupon) AND is_numeric($coupon['amount'])) {
Because cart_contents['totals']['coupon'] array dosen't have discount.
Not sure, you have to check it.