Here's the real story about Zach on Heroes
In an interview with Popgurls.com, Heroes producer Bryan Fuller discloses that, yes, the character of Zach on the show was indeed gay and they were going to follow the story through, but then negotiations with the actor's (Thomas Dekker) management got "ugly."
Fuller says that Zach was going to come out on the show and actually help Claire "come out" about her superpower, but then reps for Dekker said that they didn't want to make the character gay because it might hurt his chances of getting the role of John Connor in the new series The Sarah Connor Chronicles. So they took out a line that would have said that Zach was gay and never really got into it again, though in everyone's mind the character was still gay. Fuller, gay himself, says that he was hurt and insulted by the entire "debacle."
They had whole episodes revolving around Zach planned, but then his reps pulled him from the show completely.