That's wrong.
GetLastBlockIndex(pindexBest, false) returns the pindex of the last PoW block, not of the last PoS block. Thus, the emission would be linear over time, not declining with time as it claimed to be in the coin specs.
Mintcoin was advertised as 20% for the first year. While GetLastBlockIndex was returning the index of the last PoS block it was still 20%. The only problem was when the wallets tried to transition to 15%. The minting code was still trying to do 20% and the verification code was expecting 15%.
There was also an off by one, as you said. The generation needed an Index+1 to get it into the 15% range.
Again there were never two chains so no fork.
Semantics over fork or not , could be said the following ways,
Mintcoin was technically stuck at the fork and unable to continue on by choosing 20% or 15%
(Stuck at the beginning of a possible fork).
Because technically you were forking from 20% to 15% in your chain.
But for those that don't agreed with frozen at a fork you could also say stuck at the crossroads.
Even other terms could be used , Crashed, Frozen , or Dead in the Water.
Ray provided the info that helped you code a fix, basically choose a path for the chain to continue on instead of being stuck.