We had to work round it in the end and externalise the scripts, so the publisher now runs an external task which calls a VBScript with cscript.
The script reads a text file of parameters to control the download dates and saves the data into a CSV file. Then a task opens the loader QVD which imports the CSV as normal, then calculates the next download dates and STOREs them in a CSV file, ready for the VBScript to be run again next time.
It's a bit convoluted, but it works!
Hope that helps.