Getting something like that to run exactly on the second is not (realistically) possible, as there has to be time for the script to run, which is part of the reason it appears to run between 0 & 1 second.
The script might start at 0, but then it takes time for the script to run. You might be able to get it closer if you knew exactly how long it took for the script to run, and then started the script that much before the hour/half hour.
One problem in determining how long it takes for a script to run, is the fact that, unless this is the only script running on mIRC, and mIRC is the only program running on the computer, and it's impossible for anything else to run, you're not going to be able to guarantee that something else might not take up processing time on the computer, which, in turn, will cause the script to take longer to be started & executed.