set_lights is global. You only need to set it once i think (not every client connect)
In startround you set two server_cmds. They won't get reset every round and you definately don't need to set them for every player. Just call these once along with set_lights on plugin_cfg or similar.
Your main problem appears to be client_prethink. This gets run around 60 times per second per player and having that many things to do in there is what's causing your problems.
Things to Change:
- Add an is_user_alive(id) check to the start of prethink and return PLUGIN_HANDLED if they are dead.
- The three terrorist client commands should be run on client_connect instead.
-Pretty much everything else for terrorists can be run under curweapon (toggleclaws) as they will only change when weapon is changed/fired
-Same with the ct thing. Curweapon will do fine.