I suggest you go and flow diagram what you want it to do, i can see several places where you activare one or the other of the timers without diabling the other and/or setting the variables that telll you which one is enabled.
ie:
idlemsg off
idlewinamp on
but no
set %idlemsg off
set %idlewinamp on
Specificly i can state you have NO "set %idlewinamp on" anywhere in the code so the !idle state well never match the "on" position IF statement.