I've been a software developer for over 25 years, and I strongly disagree with you. Software does age. People put changes in it to deal with new situations, to deal with new equiptment, etc. A design that was initially "clean" will, over years and many patches, become more convoluted. Eventually in the life of a piece of software, after patch on top of patch, it becomes unmaintainable and is better off being rewritten.
I'd look first for some fatal mechanical failure as the root cause. It could be from an external event, human error or simply an age or stress related failure.
I agree. That was my first post on this thread, namely that some unanticipated mechanical failure caused the software to make a bad decision that resulted in an overcorrection and a cascade of further problems
IIRC, there are three flight control computers. Each one gets a "vote" about what action to take. I assume they would not put a patch on all three at one time.