I decided to up the ante and try 10 files (2.2Ghz Dual Core, mIRC emulated through Wine under Linux):
22% peak. However, this has nothing to do with the timer accuracy. mIRC isn't multi-threaded, so you're waiting for 102,000 iterations of execution to complete before any other processing can occur (i.e. checking the time scope of the timer). That's A LOT for mIRC. mSL isn't designed to compete with other interpreted languages, it's for an IRC client. Now.. there is a DLL that exists called Whilefix
that you might be interested in. I've never personally used it, but it allegedly allows processing to continue outside of while loops. Give a try.