It looks like the module is trying to clear the cache -- uc_discount_clear_price_cache is called a few times in hook_form_alter.
However, it never makes it -- a dsm in that function never shows when I edit predicates and save them, and uc_price shows that the cache is still there.

It looks like this is failing:

      if ($predicate = ca_load_predicate($form['pid']['#value']) && in_array($predicate['#trigger'], $triggers)) {