I used _ in my first implementation of this feature, however a random number will almost always ensure that the first new nickname will be accepted, and that at most two characters will be needed, whereas with _ there is still a possibility that the nickname will be in use and it may require more than two characters. Since it's difficult to know how different servers will react to numerous nickname changes on logon, using a random number was deemed to be the safer and more reliable option.
The problem with halting logon if both your nicknames are in use is that your client will not log back on until you manually intervene, eg. if you are disconnected while away from mIRC, your client will never log back on. I don't know how common this situation is, however it was one of the considerations.