You're right about the variables.
Just add an instance variable to "CharacterCollision" and call it whatever you prefer. Set it to numerical since from what I've seen boolean seems a bit lacking (or I just got unlucky and it didn't work well for me). Replace your crouching event with one that states "When Platform is on floor" and "When down key is down" and use the actions you already have (the animation and size changes). On top of those also add an action that sets your instance variable to 1. Then add a sub event that makes the character stand up, for example when pressing the down key again, and set your variable to 0.
For all actions that the player should only be able to do when crouching put a condition "When Variable (whatever you called it) = 1"
For all actions that the player should only be able to do when standing put a condition "When Variable = 0"
This will prevent any weird instances of conflicting actions. For example, your character jumping while crouched.