This is a divisive issue with my friends, many of whom worship FFVII, but I honestly prefer the narrative of Zack's death in the original game over his badass super melodramatic demise in Crisis Core. Don't get me wrong, the way they handled the final moments in CC especially the final battle is probably some of the most clever design to come out of SE at that time but I always hated how it retconned his character.
For those wondering what the hell I'm talking about, in the original, Zack and Cloud are running from pursuers and Zack drops off Cloud before fighting some of them off, then returns only to be surprised and get gunned down, the three soldiers walk up to Zack and shoot him in the head and leaves Cloud for dead. Finally Cloud finally wakes up, picks up Zack's sword Yells into the sky and we see Midgard.
In Crisis Core, Zack and Cloud are ambushed by the ShinRa army and Zack pretty much fights them all off finally succumbing to his injury before two of the remaining soldiers put two in his head, at which point Cloud wakes up and Zack gives him this long speech about living for the both of them and then gives Cloud his sword telling him he is his legacy before the scene fades, birds fly in the sky and Zack gets a send off in a 90s power ballet by Gackt.
The thing is, I prefer the original, why there is enough offscreen possibilities for Zack to have been able to have a few badass moments, it still ends with the player proceeding to watch a figure die a senseless death despite being one of the most important figures to the plot. I love it because it shows how unfair the world can be cause Zack rescued Cloud and tried so hard to get them home but in the end he gets killed in the finish line. He dies, Cloud wakes up in time to find him dead, it rain and nothing, it is just a silent moment to reflect on the loss of a life and in the backdrop of Midgard it makes a pleasant analogy to the plight of the people of the slums, they die in the grandeur of Midgard but nobody cares except for the few who knew them. It is a true tragedy.
In Crisis Core, we get the Hollywood version where Zack didn't fight off maybe a small force, he fights off a huge army, almost single handily, he's not gunned down in the back by being caught off guard, no he was so smurfing badass that it took serious injury to finally weaken him enough for the small remains of the force to finally gun him down. He is conscious enough to give this long heart wrenching speech about legacy and being true to yourself and how much hope he is putting into Cloud who is the future (you would think Zack was an old man in his fifties but the two are only a few years apart in age.) before dying and being given a weird send off similar to both Tidus "death" and Spike Speigels' to some power ballad in the background. Its like 500.000x more awesome cause bro ya? Yet it isn't, it transforms Zack from a tragic figure to a martyr it elevates him beyond his role in the original proper and cheapens his legacy by transforming a quick and powerful moment into an over-dramatized pageant that checks off every element from the book of Hollywood nonsense to try to make a powerful moment better than it was before and completely break the message the original gave it. Its become gilded and feels cheap and I felt Zack deserved better. I know I am a minority on this one as most people feel CC did him justice but man I hate that game and everything it does to screw what was good about FFVII.