The problem with Zack was that everything was so over the top.
When a character in a story is constantly the helpless, innocent victim who never deserves any shabby treatment, I find it very hard to feel sorry for them. This isn't because I think that such characters are pushovers who should stand up for themselves (which is the reason most people give), but because I find such setups hard to believe. When a story presents one side as being always the victim and another being always the bad guy, my bullsh*t and bias detectors go off and I stop taking the narrative seriously.
His personality is also over the top, if what he has can actually be called a personality. I can no longer stand the stereotypical badass anti-hero, but Zack was such a naively optimistic goody-two-shoes that it was sickening. He reminded me of a less selfish version of Tidus. What's worse, his selflessness was done in such a way that it made him less appealing. I suppose the character closest to him would actually be Selphie; the difference is that in FF8, Kitase had the good sense to make the sickeningly sweet happy-go-lucky character into an annoying sidekick with hardly any role in the game, rather than the protagonist.
I can see what Square were going for with Zack and the way they presented what happened to him, but they laid everything on far too thickly and left me unable to feel much sympathy for him.