You are creating your own problem
As mentioned in Thomas' answer, rules are the way the game provides consistency and sets the expectation of the outcomes of the players' actions. If you arbitrarily dismiss them as you want, you are creating your own problem.
In particular, "because I am the GM and I want to" is a very poor justification, and will probably (rightly) frustrate the players, making them feel your decision was completely unfair. It is okay if you have a simulationist reason, or some actual reason, but then you may explain that reason to them, rather than just saying "because I am the GM". Honestly, it does not even need to be a great reason, but I would rather hear a bs explanation such as "the villain had a third eye in his back neck and saw what you were up to" than "because I wanted to".
I win button
Other than that, there is some great advice on this article by the angry GM (as usual, strong language, proceed with caution) which talks specifically about the "I win button", which is:
Eventually, a player is going to attempt an action that, if successful, will resolve all remaining conflicts or answer the dramatic question with certainty. Sometimes, this action won’t even require a die roll.
...
If you are running your game properly, and a player drives the ball off the tee and scores a slam dunk, you have to give them the two-point conversion. If you don’t speak sportsball, basically, if your players find a way to win the encounter in a single action, even one without a die roll, they won the encounter. If you can’t stomach that, you can’t stomach being a DM.
So, basically, if you have considered that the action was able to succeed (and I assume you did, because you let them roll for it), you should have rewarded the player for finding such an easy win.
"Aw, but I do not want my strong and important villain to die in such a way waah" - Then why, for everything that is sacred in this world, did your villain allow the player characters, fully equipped with their Cloak of Invisibility and weapons, to stay behind his back, without anyone guarding them properly? I am not familiar with Numenera, but if coup de grace exists (i.e., slicing the throat without any damage or HP check, instantly killing the enemy), then I do not see any reason the player should not have succeeded their attempt, and the only way I see to be consistent was to accept your villain messed up and let him die.
As a player, I have only had very bad experiences with GMs arbitrarily changing rules because they did not want their major villain to be beaten easily, and every time it happened, it was frustrating to me and to the other players. You mentioned the rule of cool in the beginning: what would be cool here would be to accept your players found a very good way of dismissing a threat in a very good opportunity where he presented himself vulnerable and reward them accordingly.
So, the only thing I can say about using "I am the GM and I want to" to save a villain from a very good and valid action from your players that would cause the dismissal of the villain is... don't do it.
I mean, even you know it was a bad call, otherwise you would not be giving them XP out of some guilt.
The attack succeeding doesn't mean the end
To be clear: The attack having succeeded does not mean the campaign, or even the story arc, is over. You could end the story arc and still the players would have all the other problems of the world to solve. But this villain dying doesn't even mean the story arc itself is over. Other answers have focused on this, so you can get ideas and explanations on them, but, as examples, you could have a smarter henchman or second-in-command take place, or this villain was just a puppet, and the master mind will just choose another puppet to keep doing their job.
Still, as a reward, you could make the plans of the organization fall behind on their schedule, or the second-in-command presents himself as an easier final fight than the previous one.
Maybe you don't even have a problem
I can only see two exceptions for the previous section: Either you are playing a system that deliberately states that the GM can do whatever he wants based on its own whim and nothing else, thus the players expect such arbitrary decisions and are more likely to accept them (and with a 400 page core rulebook I doubt Numenera is such as system) or you explicitly agreed on that in some kind of Session 0. If that is the case, then you do not have a problem at all. The expectation was, from the beginning, that any action is a lottery and outcome will be based on GM's will. If they signed up for that, they signed up for that.
Don't ask for meaningless rolls
As a final, general GM advice, unless your intention with the roll was that a good roll would result in the outcome you described, and a bad roll would result in a way worse outcome, I fail to see the motivation behind asking for a roll that seems meaningless. If even in a 20 the character would still fail to accomplish his action, why even roll? At the moment you asked for a roll, you implicitly infused the player's brain with the following expectation: "If you roll high enough, you will succeed". Then, he sees a 20, and he's like "OH YEAH DAMN YOU BAD VILLAIN". Then you proceed to describe how the attempt was futile.
You could, again, explicitly tell your players that sometimes you are going to ask for rolls even if the action is an automatic success or automatic failure, just for the thrill of it, or whatever reason. But this is not, in my experience, the usual expectation.
Talk to your players
If you have not done so yet, then you should be clear with your players about the expectations they should have. If they are okay with arbitrary decisions, then you don't have a problem. If they are okay with not knowing what to expect from their actions, you don't have a problem. If they are not okay, then you should consider following the advice in this answer.
Conclusion
To summarize
- Talk to your players. Be clear about what should be their expectations. Find out if you really have a problem.
- If you do, consider changing how you have been running the game, or finding a table that fits better for your style.
- "Because I am the GM and I want to" is a poor justification. Give a good in-game justification. Even a bad in-game justification is usually better than the "I want" justification.
- If you can't find a good in-game justification, then probably you should not take that decision. From the player's perspective, if you do that, that will not be "cool", or even fair. If your players found a good way of solving a problem that is easy and fast, good for them.