The problem is the game checks for monster AI first, before checking to see if the party is wiped out.
One is to add a condition to the "Kefka death" animation of his script that someone has to be alive in the party
If not done properly, Kefka will just instantly die then (without his fancy fadeout).
The problem as I see it is, the whole point of the fancy fadeout is to accentuate the fact that you beat the game, except that if your party is all dead, then arguably you didn't really win. Against any boss, including (apparently) Kefka, the win doesn't count if your party is wiped out in the process, so having an insta-death animation as opposed to the fancy fadeout doesn't really bother me. In fact, one thing that happens in the video is that the wrong "game over" music is played, which could be a side effect for all I know.
and the other is to make the animation void party annihilation.
I have another idea. Upon death, set his HP to full, and then check to see if the party is alive. If so, fancy death. That way, he doesn't insta-die, but then he'll still go through the animation if you win.
The point of voiding party annihilation is that it would make sacrificing your party immaterial as long as Kefka is beaten. Basically, the question is, if your party is wiped out by the same move that beats Kefka, should that count as beating the game or not? The answer, currently, is ambiguous, which I believe is why this weird stuff happens. Your solution basically just removes the insta-death animation from the scenario described above. I agree that would be preferable to having insta-death, but if we decide that the player can win by defeating Kefka in a kamikaze move, then this wouldn't be desirable.