I have a solution for this that is working on my Windows 2003 server. It does not use Plesk at all, except to copy the "statistics" directory for a new virtual directory to put the stats pages. It requires:
Win2003/IIS6
PHP CLI (included with Plesk)
robocopy (downloadable from MS/Resource Kit)
It uses the IIS6 logs, not those generated by Plesk. It works by calling a modified version of iisweb.vbs to output a text csv file of webs, service numbers, and log file locations, and it reads that data into an array.
Looping through the array, it determines when the last time awstats was run on the site, by attempting to read a date from a data file. It then calls awstats to update the data file(s) for each day between the last time it was run, and the day before the current day. This is how it can process old log files, and "catch up" to the current date. It takes a while to catch up, especially if you turn on DNS lookup. I tried to turn on DNS lookup, and it would have taken several days to catch up all the sites on my server (about 150 sites). I turned it off.
It then checks for the physical directory and icons where the static pages will be stored, and creates them if they don't exist, tries to create the virtual directory. Finally, it outputs the static report pages.
I also have a version that outputs data files for CGI (I have to use a slightly different conf file). Some of my clients need the CGI version.
Email me if you want the files. Most of the code is not commented, but it's not difficult to follow, if you're familiar with basic scripting, and you're familiar with awstats. I can't offer any warranty or support, but if I can make it work, a monkey should be able to make it work.
will at hansoninfosys dot com