Whilst I don't play them anymore, CCG sets have many reasons to block older cards
- Play balance
- forced upgrade
- altered rules incompatibility
- creates loopholes
- maintaining opponent parity
While play balance is the big one, opponent parity and loopholes are related, it's also not one the Pokémon players complain about. Some old cards are over the top, and many not up to par; sets can't effectively be playtested against all older sets, so balance can't be maintained against them.
The most obvious is the economics: if you could continue to play your old cards, you have less need of new ones (unless the power creep is too high). By requiring only the last couple sets, it both forces old players to buy new cards, and enables new players to get in without having to spend huge amounts on older cards.
Many times, a new edition also alters some rule. This can make older cards special abilities not so special, or render an otherwise balanced card way out of proportion. Since Tournament play almost always uses the newest rulebook only, the older the card, the more likely to be thrown out of balance by subtle rules changes.
Loopholes are seen by some as a balance issue... but really, they are separate. Certain cards in some games work fine, but interact with certain other cards in strange ways. There are three solutions: special case rules in the rulebook, special case rules in the FAQ, or disallow the older card. It's easier just to disallow the older of the cards.
Player parity: if older sets are stronger, new players wouldn't be competitive. If the new sets are stronger, older players wouldn't be. But a Tournament is supposed to be about skill, not who can afford the best deck... so by limiting the choices, it prevents opponents from being pushovers, as the most recent few sets are likely to be closest in power levels.
Pokémon is, according to the students I've overheard, pretty well balanced even against the older cards, so I suspect most of it is parity and economics.