It would help more if you would also show us the script you're currently using.

To hide all channel windows on all networks, you could use
alias hideall {
  scon -at1 hide $1
alias -l hide {
  var %a = 1, %b = $chan(0)
  while %a <= %b {
    window -h $chan(%a)
    inc %a
  if $1 == status {
    .window -h "status window"

Usage: /hideall
/hideall status

The second usage will also hide your status windows in all versions of mIRC except 6.2 (untested with 6.3)