How are you testing it ? I've just replaced your %var with a number like 15, used something like /timera 0 2 away_sys and typed something in a channel, ~15 seconds later, $idle was > 15 on each network so it put me away, when I broke my idle again, it put me back etc...
I think the problem is that you need to check 'cancel away on activity' in mIRC option (alt + o > IRC > option)