When the wrong channel is used, is the channel being used the current $active channel ? How often does this wrong channel stuff happen?
You should debug the code and log the channel value $1 passed to noticias.scon.msg2, when the issue occurs, if the log show a correct value being passed then the shady business happens later on.
Note that /scon has the same double evaluation problem as the /timer command.

scon -a if ($server) && (!$istok($noticias.getCanalRedes( %nsm2.canal ),$network,32)) && ($me ison %nsm2.cf ) $noticias.send.msg.tipo %nsm2.cf %s2

Here you should be using $unsafe() on any parameter that get double evaluated (in red). What does $noticias.send.msg.tipo returns ? you may want to try $!noticias.send.msg.tipo to evaluate it once when the timer fires (execute its command) instead of when the timer is launched.
The alias sbtok could also be responsible for getting the channel wrong.


#mircscripting @ irc.swiftirc.net == the best mIRC help channel