I might be wrong, but from reading the code, uc_affiliate2 seems to honor commission structure in the following order:

1. user specific commission
2. role specific commission
3. product specific commission
4. default commission

Shouldn't be it 1, 3, 2, 4?