• Thanks a lot, using a little bit of your suggestion I have managed a workaround. This involves two activeX script tasks. The first loads the variables and is run before any other tasks. The second saves them and is run after every other task. It seems to work very well. This is the code in the first....

    'Load Variables

    Function Main()

    set pkg = DTSGlobalVariables.Parent

    set fso = CreateObject("Scripting.FileSystemObject")

    set file=fso.opentextfile("E:\gvsave.txt",1,False) '**Load in previous runs global variables

    While Not file.AtEndOfStream '**Take two lines at a time (gv's name and value) until end of file

    gv_name = file.readline

    gv_value = file.readline

    DTSGlobalVariables(""&gv_name)= gv_value

    Wend

    file.close '** Clean up

    Main = DTSTaskExecResult_Success

    End Function

    .........and the second.......

    'Save Variables

    Function Main()

    set pkg = DTSGlobalVariables.Parent

    set fso = CreateObject("Scripting.FileSystemObject")

    set file=fso.opentextfile("E:\gvsave.txt",2,True)

    For Each gv in pkg.Globalvariables

    file.write gv.name & vbcrlf

    file.write gv.value & vbcrlf

    next

    file.close

    Main = DTSTaskExecResult_Success

    End Function