That crouch script is an odd misuse of the +/- binds. Here's what I'd do:
bind "c" "crouchon"
alias crouchon "+movedown; bind c crouchoff"
alias crouchoff "-movedown; bind c crouchon"
Same thing really, but the +/- ones are supposed to do the + commands when the key is held down, and the - commands once it's let up. I don't really even see how that script works. O_o