Zack was having problems in his life, as demonstrated by what happened while he was in Montreal. He's fortunate in that he's had lots of support and has been able to rebound from what could have been the death of his NHL career. There's no guarantee he'd have done that if we'd have kept him.
Maybe he would have, but hindsight is hindsight and speculating, while fun at times, is pointless in this case.