The reason ) and . didn't show in the messages is that mIRC omits anything you append to the closing bracket of an identifier. In this case, your expressions were evaluated in the first time to $hget(Temp,users). and $hget(Temp,waittime)) therefore the red chars were lost in the next evaluation.

Two solutions... either change your timer to this:
  • .timerMsgChan 1 1 /msg %req-channel $replace($hget(Channel, priv_hi1),[nick],$!hget(Temp,users) $!+ $chr(32),[channel],%channel,[waittime],$!hget(Temp,waittime) $!+ $chr(32),[me],$me,[you],$!hget(Temp,users-you) $!+ $chr(32)))
...or go in the clean way and have it call an alias:
  • .timerMsgChan 1 1 my_alias
    alias my_alias msg %req-channel $replace($hget(Channel, priv_hi1),[nick],$hget(Temp,users),[channel],%channel,[waittime],$hget(Temp,waittime),[me],$me,[you],$hget(Temp,users-you))