>>24799472I am of the opinion that Gen 3's lack of backward compatibility, in the long run, is a good thing.
Look at the features Gen 2 added to Pokémon. Gender, shininess, the special split. All of these things had to be derived from existing values from Gen 1 (the former two are based on IVs, the latter has to use the special IV for both Sp. Atk and Sp. Def).
Now look at how much shit they added in Gen 3. Natures, Abilities, Contest stats, ribbons, little things like Spinda's spots (though Gen 2 had Unown formes). If you made Gen 3 to be backwards compatible with Gen 2 (and thus Gen 1), you would have to make all of those things derived from the existing stats in Gen 1. And it could possibly be doable, Natures and abilities would have to be derived from IVs (imagine if modest required you to have a bad Special IV or some shit), Contest stats could just tie each stat to a Contest type and raising EVs would raise that Contest stat, it'd be doable, but it'd be messy. You now have 4-5 things all based on IVs and a bunch of impossible combinations (which Gen 2 already had, only two Unown formes can be shiny), still only one special IV, etc.
And then we have to keep using that Gen 1 data. Imagine Gen VI but all Pokémon data had to be derived from a poorly-thought-out system made 20 years ago.
Instead, they decided with Gen 3 to completely redo the data structure. We get the PID system, gender and shininess and such are made separate to the IV system, we get a real Sp.Def IV, and all those new additions work fine. Then you can have partial compatibility with future Gens, being able to move forward and randomly generate any new values added in the next Gen, though you can't go backward since the values aren't in that game. I consider this a better solution in the long run from a programming sense, it's much cleaner and gives more potential for future entries to add new things.
I imagine not everyone will agree, but that's how I see it.