mIRC has to recieve their addresses before it can decide whether to colour their nicks, which only when:
They message the channel/you
You whois them
They change a channel mode
They join a channel
Some others, can't be bothered to explain.

To automatically get everyone addresses when you join a channel use this (remotes):
Code:
on *:JOIN:#:{
  if ( $nick == $me ) {
    set %ial $+ # 1
    who #
  }
}
raw 352:*:{ 
  if ( $eval(% $+ ial $+ $2,2) == 1 ) {
    haltdef
  }
}
raw 315:*:{ 
  if ( $eval(% $+ ial $+ $2,2) == 1 ) {
    unset %ial $+ $2
    haltdef
  }
}