I consider this a bug and in my opinion should have been fixed long ago. The problem is that people can key-up or talk when someone else is talking on the mic and here's and a time tested trick that resolves this bug.
1. for at least the "Push-to-Talk" mode, If some is key'd up have teamspeak ignore anyone else that keys up until the person that has key'd up first releases the mic button.
2. since players will mostly be running Teamspeak in the background it would be a good idea that if another user has the mic that teamspeak emits a tone of some sort so the player that is attempting to key up is aware that another person still has the mic. This would also let them know that their attempt to key up has been blocked until the person that has the mic releases the button.