First of all, you could have used a code snippet and saved me the trouble of the download since they are so small.
So, let's take a look....
Check Var
; Should check if global variable 101 is equal to 1 or not
; and if it is then it should destroy the entity
:state=0,globalvar=101,varequal=1:state=1
:state=1:destroy,state=0
globalvar=101 is an action not a condition so it is in the wrong place.
So, let's try it differently, by removing the conditions from state=0.
Also if you are going to destroy, then why goto another state because the script will end anyway.
:state=0:globalvar=101,state=1
:state=1,varequal=1:destroy
Now for the Set Var
; Should set global variable 101 to 1 when player is in zone
:state=0,plrwithinzone:globalvar=101,setvar=1,state=0
Again let's change the state=0 to remove any conditions. (state=0 is an initialization state)
Also take note: There is no need to call a move to state=0 because we are already in that state.
The plrwithinzone should be plrwithinzone=1 even if it does work the other way, this way is less confusing. (1=true, 0=false)
We won't need to do anything else again here either since the other script will destroy, so we can move to a nonexisting state after setting the variable.
; Should set global variable 101 to 1 when player is in zone
:state=0:globalvar=101,state=1
:state=1,plrwithinzone=1:setvar=1,state=2
If we did want it to keep working for later use, then we could also check for when they are out of zone and set back to zero.
I separated the plrwithinzone=x to two states because we do not want to continually keep setting the variable while either condition is true.
; Should set global variable 101 to 1 when player is in zone
:state=0:globalvar=101,state=1
:state=1,plrwithinzone=1:setvar=1,state=2
:state=2,plrwithinzone=0:setvar=0,state=1
Try these and let me know if it works ok.