I have no scripts loaded for the coloring, its just standard by IRC. In order down the list it goes ~, &, @, %, +, regulars. I guess it does what RusselB said, it goes by the most recent that was set.
To show you what it is that I'm talking about, I have two snapshots
http://www.immortal-anime.net/striker/snap1.jpg- the one above shows ModGod as a hop, without voice
http://www.immortal-anime.net/striker/snap2.jpg- this is what happens when you voice ModGod while he is already a hop.
This is just mIRC's plain address book, no scripts. In ver 6.2 I did not have this happen, it has just recentl;y occured in 6.21 but I had a friend tell me he reproduced the error in 6.16. If this is in fact an error.