When any program (not just mirc) does something that consumes as much CPU as possible, other programs do work, but they do so more slowly, assuming that all these programs have the same process priority (usually 'Normal'). If you lower mirc's priority below 'Normal', other programs will be much more responsive. The opposite would happen if you raised mirc's priority and then ran the loop; other programs would become very sluggish (almost unusable). You can find lots of info on process priorities, scheduling etc on the net, the bottom line is that what is happening with your script is normal.