I think the Ryan Anderson/Brandon Knight trade sealed his fate, if it wasn't already done. That was another case of McD doing a player wrong. Knight came and worked out with the Summer League team to help rehab, get to know Igor, and show that he could be the PG of the future. He was never a problem player in his time here, as far as off court conduct. McD trading him like he did, with Chriss, essentially said that he never should have signed him to an extension initially and also that the 2017 draft was a bust. Remember that James Jones was brought in because McD bungled so many personnel moves and you can easily make the case he did that with Knight in his final months here.
Sarver could have put the kibosh on that trade but then he only backs up all reports of him being a meddling owner, plus the damage would have been done. McD proved he had no plan in terms of entering the season with a PG, and he had done nothing that offseason that warranted being kept around. It was clear during preseason how badly the team needed a PG and even though Knight ended up having surgery, who knows when he needed that surgery and if staying here might have kept that from happening.
I think you're right in that we won't know but it is fun to guess. There is definitely no shortage of bad moves and moves that didn't get made that warranted him getting canned. I don't think there is a time during the offseason when he could have been canned when it would have looked good so what happened did and I think that was probably the right time to make the move, ultimately. Before the draft would have been really bad, leaving a bunch of assistants in charge of the draft, and the team's first #1 overall pick. Doing it after the draft but before free agency would have sent the wrong message to all potential free agents out there. So they did it between preseason and the regular season starting. It wasn't ideal but it was better than some alternatives.