I'm trying to come up with a balance here... the old system had some pretty big flaws that resulted on cap-on-the-newbie fests or just flat out cap fests where there'd be 1 person alive on each team running back and forth capping flags, sometimes scoring 20 or 30 points before the round ended. This really detracted from teamwork and left the major burdon on the last player alive (which was often some newbie who camped in the corner all round).
The new system with the flag cap ends round and flag must be at base settings helped out a lot, I think. If somebody capped on a newbie, he'd only be able to get 1 capture and the round would restart. Teamwork improved because people would actually back the flag carrier up rather than waiting in the enemy base for the flag to be returned. A single player on each team wouldn't rack up a bunch of points by repeated flag runs because he couldn't capture the flag while the other team's player had his flag, but that lead to a small problem that has upset a lot of people with short attention spans.
When a player on each team has the flag, they wait in their base for their teammates to go kill the other flag carrier. This can go on for a while, so I'm looking for a way to keep the game flowing in a fair manner.
One idea I had was some type of "cap exchange." If both teams have the flag, and both carriers are touching their bases (maybe after a certain period of time, or only if the other teammates are eliminated), both teams get a couple of points and the round ends.
Another option would be some type of "round draw" where after a certain period of time the round just ends.
Thoughts?