FYI, we also have figured out what was causing the initial date problem. The previous developer of the site, when creating products, had installed both uc_subscribe and uc_roles.
Under the product features sub-tab, it is possible to add multiple features on the product. The developer had added a Role assignment for 6 months, and *then* he also added a "Subscription: Generic subscription" option for 6 months.
This made the role expiration additive ... therefore someone who had wanted to purchase a 6 month subscription actually got a total of 12. The uc_subscribe "Product subscription" tab on a user's profile would show the correct 6 month duration, but the "Expiring roles" area on the user profile was showing 12 months duration (6 months from uc_subscribe + 6 months from uc_roles).
If both uc_subscribe and uc_roles are going to exist separately, there needs to be something in place to ensure users do not accidentally add another feature which can extend the length of a role.
