Unfortunately it is not that easy.
Lets say you added a function to check for that. This function would then have to run each time you started the game parsing through your savegames causing a slow down in the game.
It would of course first check if the quest was finished and if it is the overhead would not be too severe but what about the millions of games where it has not been finished and maybe never will be? Should all these people really suffer because a few people encounter a bug where all they have to do is load a game a little older.
In a bug fix there is only a way to prevent it from happening in the future. A solution such as you suggest would be unfeasible.