Keep in mind that mirc processes commands line by line, in top-to-bottom order. If the variable is set to ON, the 3rd /if statement sets it to OFF (and also does strip -c etc). So as soon as the 3rd statement ends, the variable is equal to OFF.

As long as the 3rd /if statement finishes, mirc carries on with the next line of code, which is another /if statement that checks for the variable being OFF. Since the variable was set to OFF by the previous statement, the check succeds and the variable is set to ON again.

This is exactly where /elseif comes in handy:
Code:
...
if (%janeekleur == ON) { set %janeekleur OFF | /strip -c | echo -a System: Colored text allowed | halt }
elseif (%janeekleur == OFF) { set %janeekleur ON | /strip +c | echo -a System: Colored text refused | halt }
...


/.timerQ 1 0 echo /.timerQ 1 0 $timer(Q).com