If you want to do real, actual competitive in gen 2, it's the worst gen for it. Stall rules everything, and matches take 600+ turns between skilled players. However, if you and your friends are just doing this for friendly competitive matches that aren't top level stuff, here's what I recommend for your team:
Toxic may be more beneficial for Zapdos than Whirlwind, though Spikes can rack up a little bit of damage. I'd still say Toxic is the superior option.
Starmie looks fine.
Machamp looks good. Rock Slide and Body Slam might be a better way to go over RestTalk, however, as it provides some nice coverage against Flying foes, who currently switch in with impunity. Body Slam provides a nice 30% chance of paralysis, which is helpful as well.
Using Quagsire in the way that you are is okay, but Suicune does it much, much better. Surf, Rain Dance, Roar, Rest on Suicune does most of what Quagsire is doing, but just much better. Quagsire does, however, provide an Electric immunity for the team, so that's nice. Roar > Haze in most cases, but Haze is useful if you're up against the final foe and they begin boosting, I suppose. Don't forget that due to Quagsire's neutrality to Water, Rain Dance could actually be used against you.
Spikes, Toxic, Reflect, Explosion is the way I'd go with Forry, especially in an environment where your friends aren't likely to be spinning the Spikes away. After setting Spikes and Reflect, Forry's job is mostly done, so Explosion can at least bring something down with it or take a huge chunk out of the foe, giving you an opportunity to bring the opposing Pokemon down with Starmie or Dragonite.
Speaking of which, Dragonite. Dragon Rage is awful, it always does 40 damage no matter what. Dragonite may not have a wonderful STAB, but it has base 134 Attack, the highest in the game (tied with Tyranitar), as well as excellent coverage moves. Thunder, Blizzard, Body Slam and DynamicPunch are what I'd recommend. Now, I know DynamicPunch is not an ideal move, and if Dragonite had a more reliable Fighting move, I'd suggest that instead, but it doesn't. DynamicPunch gives you something to knock Blissey out and continue Dragonite's sweep. Body Slam makes use of Dragonite's wonderful Attack and 30% Paralysis rate is useful.
Overall, this is a fine team for friendly matches, given the changes I've suggested. Some of them require trades back to gen 1 for such moves as Body Slam and such, but it'll be worth it. :>