The ending was highly appropriate and fitting to the overall arc, while Cowboy Bebop does tend to wander plot wise there is still that thread holding things together, Spike's past and that it's alive and out to get him. None of the other characters had that.
That he died there also made sense, anything less would have completely taken the teeth out of Vicious as a villain. Spike went to the tower to bury his past for good, not just because he had to get Vicious back but also because he couldn't run from it and endanger everyone. Personally I think he might have tried to grab Julia and run up until the attack on the Bebop but after that and then obviously Julia dying, changed the game, there was no running away this time.