Sorry, the problem I think that is in fscript using global var fsGlobalUnit.
It contains a reference of all dataset in main module.
fsGlobalUnit is created once, I believe... then DataSets are sharing into diferent sessions.
for i := 0 to ComponentCount - 1 do
if Components.ClassNameIs('TADQuery') then
fsGlobalUnit.AddObject(Components.Name, TADQuery(Components));