|Perl: the Markov chain saw|
While there are several valid methods above, they are all making this way too hard.
This is one of the things that Windows gets right. Assuming you are on Windows 2000, Windows XP, or Windows 2003, you can solve this in less than a minute with zero code!
First, disable whatever method is currently launching the main script.
Next, set that same script up again to be launched by the built-in Windows Task Scheduler. Tell Task Scheduler that you want your script run every five minutes, UNLESS it is already running from last time. Voila!
Hope you get this before spending too much time with another solution...
Spring: Forces, Coiled Again!