Ben,
You rock. I was about halfway into an effort to do just exactly this (thinking almost the same way, but trying to collapse the 3 modes into a single variable representing current state, and moving the times to csv after each cycle). I'm real slow - taking a rapid crash course as I try to move from newbie and non-scripter to having my Indigo setup finished in about 3 days I popped this in, and I suspect you saved me a precious 5 hours or more.
Just to clarify in this thread, this really is an attachment script. If you have a Venstar (v1 or v2) just put it in the attachments folder, restart Indigo, and wait for your thermostat to cycle your HVAC. No triggers necessary. But if you want to save the data, use the "reset" script with a trigger so that it runs once a night, and it will put a .csv file in your docs folder.
Ben, BTW, I've tied to this another script that adds up the total AC, Heating, and Fan time every time the reset script runs, and adds that total to another variable (hvacFilterUse). One a day I check that variable to see if it has exceeded my threshold and send an SMS with Adium it is time to change my filter (script over here: viewtopic.php?f=4&t=5667). For anybody else wanting to do this, Ben's script doesn't create the variables until the "state" of the HVAC runs (Heating, cooling, fan), so if you're adding them up, either check the variables exist, or create them yourself.
Thanks again, this is superbly useful.