the .su domain was made when the soviet union was still around, so that doesn't really break the rules. I would prefer for top level domains to be eternal for a great multitude of reasons
The possible annoyance with eternal country-code TLDs would be the dissolution of one country, and the creation (or renaming) of another country resulting in an eventual exhaustion of two-letter country codes. Eternity is a rather long duration.
Before exhaustion, you're likely to have new countries where they have to have suboptimal two letter codes, because a dissolved country is squating on it.
The country code TLDs are ISO country codes. Nothing technically requires that to continue, but if ISO re-uses a country code & ICANN doesn't, it'll get somewhat confusing.
If anyone would avoid reusing codes, it's the ISO. They love legacy compliance and compatibility (which is why I have tremendous respect for them when I'm designing software since they've certainly thought about something more than I have)
At the time it did not break the rules. It's breaking the rules now because by the original rules it should have been phased out. What makes it survive is a special arrangement.