I am, for my sins, the Subject Matter Expert in a software house that writes highly specialised, high value software.
My job is to translate high-level Customer Requirements and Support into language that our developers ( who have no knowledge of the actual technical stuff our code does ) can understand.
I'm a Petrophysics <-> C# Translator.
We had a bug.
It crashed our software under certain conditions.
We fixed the bug.
It no longer crashes.
BUT... Projects that had been previously hit by the bug still failed even with the fixed version.
That's because the bug failed to write out critical stuff to the project, leaving the project corrupted.
Wail: "Can you fix that?, patchup the buggered projects?"
Me: "Soz, no. There's nothing to recover in the project file The critical data is simply not there. Re-load from source data and start again!"
No matter how many times and in how many ways, the answer does not change.
SORRY. The affected well must be removed from the project, and re-loaded.
I do appreciate it's a bit of an inconvenience, but I don't have a magic wand.
That's the problem with bugs; they are an embuggerance.