i didnt find any problems with this script-it works as it should and meant to be. NB you have no reason to hold key C down because if you press it then it will switch between cameras-it doesnt cancel crouch or stand automatically.(so holding key down has no reason).
You can simply add variable that disables switching if you keep holding key down- because its action script that you can call in WhenKeyPressed-so you have full control over this behaviour.
You can try this with WhenKeyUP and WhenKeyDOWN if you need it to be crouch if C held down and stands up automatically if key C is up.