That would have meant that the dispatcher would have been aware that they already ordered a collision before. If a train stops no accident will happen, unless it could have happened regardless. Yes, such a decision would have prevented the accident or lessened it's impact, but the absence of it has not caused it. The error was already done before.
What do you mean? "Everyone crash now"? Makes no sense. "Tried to solve"? There was no collision before.
The situation seems to be that they stopped the trains due to a problem somewhere. When they thought it was solved, they commanded all of them to move again. And when one reported to be unable to do so, they failed to stop those that were around it. Or that is what the leaked conversations suggest. Do not discard this was tactical leaks to blame a scapegoat. The newer system should be running.
I say around, because news mention that a third train could have crashed into the wreckage of the other two. It was moving in the other direction, towards Madrid. Luckly it stopped when the electricity failed. It would have been like the accident early this year, when a train hit other that just had a derailment.
If you (as a dispatcher) order a train to drive into an occupied block, you ordered a collision, independently of whether you notice later and call for an emergency stop in time, or someone else notices and prevents it.
> And when one reported to be unable to do so, they failed to stop those that were around it.
That's not what was the problem, they wouldn't be required to do that. Any train is supposed to stop at any time, without you having notice of that. It's completely normal, that you do not call for other trains to stop, if one train reports that it stopped.
In order for them to think of the conclusion of "first train stops" -> "shit there is another train in that block", they need to be aware that they told another train to be in the same block, before the call. Ordering a train to drive into the same block as another train, means ordering the trains to collide. So they would have to be aware that they ordered a train to collide into the other prior to the call, in order to arrive at that conclusion.
> The newer system should be running.
A newer system would not solve anything here. This exact failure case exists in every system that has virtual blocks, which is every new system. If you are looking for scapegoats, THAT is one.