Picture this:
2D Top Down Retro 4-player Team Based (Sorta)
Premise - Limited Story
Group sent out to retrieve something from zombie infested wasteland.
Objective - Enter. Locate objective. Retrieve intact.
Mechanics - Team work is key but when fast leveling and increasing power builds your characters you can kill anyone of your teammates in order to get more experience. Earlier kills gains more experience. Kills near extraction give little to no experience if entire team survives.
Heavy
Medic
Stealth
Engineer
Heavy - More Hp and Dm. Slows team down and easily overcome alone.
Medic - Can heal the team and himself. No reason to live other than heal.
Stealth - Stealth field. Invisible to zombie and Team. Broken with gun fire. Knife and stay invisible. Invisibility lasts longer with more team members. Alone doesn't work.
Engineer - Fairly useless offensively. Can hack turrets (Turrets loyal to engi if team attack). Open shortcuts. Can repair objective.
I can see where you're going with this, encouraging teamwork.
It seems like any team would require a Medic of any sort, basically running into the old "lfg healer" issue. If you've ever played Killing Floor, they had a pretty good healing mechanic there. Basically everyone could heal themselves, but a) it means changing weapons for a short time to pull out med syringe, thus making it a non-viable tactic if alone, and b) self-healing is far less effective than healing another player. There are no fixed classes in that game, though each player got to choose a 'perk', one of which was healer - which only gave increased healing without any other drawbacks (but no additional benefits)
I can see the role for each, except the Stealth. While he can benefit from more players, it doesn't seem like he'd contribute anything to the team, while all other classes do something more .. unique that no other role can fulfill. This reminds me a little of the damage dealing classes in some rpg/fps games, which are usually the least team-oriented players, since they only benefit from their team and don't contribute much (and often seem to just run off expecting the whole support crew to run behind them)
I think it's important that every player not only relies on their team, but has something to contribute as well.
Going a slightly different way, without 'classes' - the way L4D dealt with this was beautiful. Every player was equal, but self-healing was slow (just as Killing Floor's), and the most unique part was that certain zombies would immobilize individual players, requiring the help of another.
Well, I guess this doesn't solve the core issue here, which is that all these games encourage cooperation only, and thus somewhat harshly punish uncooperative players. That also may be an issue with the classes you proposed, as if a medic decides to go backstabbing, he's left alone without much of a chance.
I can't imagine how a non-coop coop game would work without any quick respawns, and low penalties for death, but that doesn't mean it can't be done