Replays are stored as sequences of inputs only. If the in-game effects of those inputs change, the replays will de-sync, meaning they no longer play back as they originally did, and you get a completely different match.
Simple, made-up example: say Robin covers 4m/s while running in version 1.0.4, and this is changed to 7m/s in 1.0.5. If Robin runs for 2 seconds and does a dash attack, the location at which he attacks will differ between the two versions, so that in 1.0.4 he would hit an opponent with his attack, but in 1.0.5, because of his faster running speed, the exact same input would cause him to run past the opponent and miss entirely. This has a knock-on effect on the rest of the battle, and the end result is Robin running around and attacking seemingly at random, like what sometimes happens when playing online.
In short: old replays would be literally unwatchable if you could use them, so that's why they're disabled.