We have been discussing this issue via email, so I am posting the response here as well, should anyone else need to setup the same scenario.
Discount Coupons (called Product coupons in Kentico 8) are indeed applied only to regular SKUs, but not to Product options. We do not consider changing this behaviour in near future so your customization is the best way to achieve this scenario. I went through your code and did not find any issues with it.
On a side note, if you do not need to base your discounts on Coupons, you may want to consider upgrading to Kentico 8, where we introduced a new type of discounts called Catalog discounts. While these do not feature coupon based setting, they do apply to Product options.