No, it's not fair to punish a player in this way. But it's not okay for this player to take an unfair share of control over the game, either.
You are the DM — you are in control. You are in the Big Chair, and the group put you there to be responsible for pacing and mediation. You have that job because players striving for the benefit of their PC is fun but usually incompatible with players having responsibility for fair pacing of action. You don't need to resort to retributive actions like that. You need to exercise that pacing authority instead.
Don't punish — be proactively assertive
Punishing a player like this only makes "sense" if you're not in control of the game world and play pacing, but to be able to punish a player in-game requires being in control. See the contradiction? No control — in control.
Instead of letting the player take control, and then punishing them for taking it, reassert that they don't get to inject things whenever they want.
Player: I throw it at the wall... Ack! I rolled a one!
GM: You hear a cracking sound—
Player: I roll out of the way!
GM: Hang on there Speedy, I'm not done. Ahem. You hear a cracking sound, and the wall collapses onto you. Roll an Escape Save† to see how well or badly you're hit by falling masonry.
Player: But I said I got out of the way!
GM: Being good at interrupting me when I'm talking doesn't magically make your character faster in the game world. Make the roll.
† I just made that up. I'm not assuming exactly how your homebrew would work here — maybe they'd just take damage directly, or maybe something else might happen like using luck points or something — but I'm making this up for the sake of the example's narrative flow. Adjust it as you read to fit your actual game rules.
See how that works? Be confident, don't let the interruption startle you, and do not accept the contribution that is made inappropriately. In short, do not allow "instant actioning." It's rude, privileges people who are good at talking fast and startlingly, encourages being rude to get an unfair advantage compared to the other players, and adds things to the unfolding story that make no sense in-world. Just don't permit it.
When a player attempts to take control over the narrative, just ignore it. Void it, veto it, undo it — however you want to think about it, just do not dignify it by accepting and incorporating it into the "Shared Imaginary Space" — the shared and agreed on story of what is actually happening with these characters. Don't let one interrupting player take inappropriate priority over what's happening.
Remind yourself that nothing passes that doesn't gain acceptance. Remember that the other players are looking to you as the example for what is accepted, moment to moment, so you do have this authority, even if it's uncomfortable to feel like you have that much say over the narrative. Being the GM is also about leadership, and leading by example.
Calmly, and confidently, disregard the interruption and continue as if it didn't happen in the game — because it didn't yet.
Normally I would suggest retconning the situation, but I won't here because your player took the PC's death well. That shows me that you and your group have an high degree of mutual trust. That means that rolling back and redoing this isn't really necessary to patch things up — there's no unmet need that would justify the significant disruption a retcon can cause.
What I would do here, is talk about "instant actioning" at the beginning of the next session. Say that it's become a problem, and you don't like how you dealt with it last time. Thank the player for being such a good sport, and apologise that how you handled it lead to their character's death. Then just let the group know that, to deal with the unwanted phenomenon of instant actioning, you're no longer going to allow "talking faster than me" to interrupt what's happening in game. Since habits are hard to break, tell them that it's OK if they forget and try an instant action, and that you'll just calmly ask them to hold on until you're done.