I like to have to usernames in chat randomly colored, especially in large chat rooms, as it makes reading and separating lines easier for me. Other IRC clients seem to have this feature, but I always end up returning to mIRC, where I've never found this ability.
I know I can manually color names, but in active rooms with dozens of people or more this isn't practical. So far the only way I've found is by using a script such as:

on ^*:text:*:#:{
if ($cnick($nick).color == $color(normal text)) { 
  .cnick $nick $gettok(%colors,$calc(%currentcolor),32)
  if (%currentcolor == $gettok(%colors,0,32)) { 
    set %currentcolor 1
  else {
    inc %currentcolor

The downside is this will add the nickname and its now permanently assigned color to mirc.ini. This is a problem because when mirc.ini gets above a few KB, it greatly increases mIRC's loading speed. I've had the filesize get to 5 MB before, and right now it's back to 2.5 MB. This results in an mIRC loading time of a few minutes instead of a few seconds. Using ProcMon I can see mIRC repeatedly reading from mIRC during this time which further confirms the long load is mIRC trying to fully read the mIRC.ini file.

Does anyone know of a better way of doing this, or an easy button I've missed somewhere?