I have user upgrades on my forum, I use them for two ranks and name colour changes. Ignoring the inability to change the primary group as a user which MyBB has (and would be brilliant.. but I'm only making one suggestion today). The ranks are as follows: PrimaryUpgrade $10, Upgrade2 $15 and Colour1 $5. I want users to require PrimaryUpgrade, before being able to purchase Colour1 or Upgrade2. I feel like it's something really small, almost double. It's important for monetization, and it's important for users feeling like their PrimaryUpgrade is still worth something when users just come on and begin skipping PrimaryUpgrade from now on.
I find it weird that you can stop a user purchasing another user upgrade, after it has been purchased - but you can't make them go through a rankup system.
PrimaryUpgrade puts users into secondary user group PrimaryUpgradeUser. Colour1 and Upgrade2 promotions are only available to users in PrimaryUpgradeUser user group.