The platform change fee was never actually a fee, but rather a trade-in of the old license for the value in it against the purchase of a new license. While this was often a wash, there are a variety of circumstances in which it can turn out that the value in the old license is much lower than the price of the new license, hence the perception of an exorbitant fee. One of the common reasons for this low value in the old license is that people were not current on their maintenance. PSC policy wants to be paid for all the time that people were off maintenance and wants to charge 2X for that time. Sometimes they have been known to forgive the multiplier, but that was and is the polity. Another reason is that the old system was very old and was purchased back when there were machine class licenses with user tiers and unlimited licenses. The theory was that a given machine class could only support so many users so at some point one got to 1, 2, 3, many and they didn't charge any more. But, machines kept getting more powerful so there have been and still are people running unlimited licenses with large numbers of users and they have effectively been charged very little per user. Platform change is one of those events which trigger having to declare a user count and that can result in a large discrepancy.
The platform change fee was dropped with OE10, but I'm not sure whether it still applies to V9 licenses or not. Platform change is free like to like, but that doesn't mean that issues like not being on maintenance or having an old unlimited license can't still come into the picture and be perceived of as a platform change fee.