Block 250 has to return a 0 subsidy. Superblocks can not kick in to some future block number that gives people time to update the client.
Edit: or maybe 250 has to be a 0 or a superblock chance, have to find the original code to remember for sure.
You were right on the first one. Since block 250 already exists now and it is 0 coins then any change other than that will cause a retroactive fork back to block 250. So block 250 MUST be zero and superblocks must NOT be enabled until some block in the future.
However at the time jackjack published the fix it was prior to block 250 so if implemented then it would have been fine however that ship has now sailed so the "fix" which causes the minimal collateral damage (to existing coin holders and exchange accounts) is to "fix" it such that it preserves the existing chain (flaws and all) and then "enhanced" future blocks only.