Hice este script sencillo para probar, y resulta que si, el SET es obligatorio, nunca lo habia probado hacer sin SET, por otra parte, al parecer todo comparte el mismo espacio de memoria, es como un apuntador a lo mismo, entonces si aplicas un remove a un elemento, se hace a todos.
Espero que les sirva a ustedes que estás usando objDict mucho en sus páginas.
Cita:
Dim objDict
Dim objTemp
Dim varElemento
'Crear el objeto para guardar las fotografías.
set objDict = CreateObject("Scripting.Dictionary")
objDict.Add "intVar1", 1
objDict.Add "intVar2", 2
objDict.Add "intVar3", 3
set Session("objDictS") = objDict
Response.Write "Inicializados: <br><br>"
Response.Write "Variable objDict: <br>"
For Each varElemento in objDict
Response.Write varElemento & " : "& objDict.Item(varElemento)& "<br>"
Next
Response.Write "<br>Session objDictS: <br>"
For Each varElemento in Session("objDictS")
Response.Write varElemento & " : "& Session("objDictS").Item(varElemento)& "<br>"
Next
Response.Write "<br><hr><br>"
Response.Write "Borrando usando set en una variable objTemp: <br><br>"
set objTemp = Session("objDictS")
objTemp.Remove("intVar2")
Response.Write "Variable objTemp: <br>"
For Each varElemento in objTemp
Response.Write varElemento & " : "& objTemp.Item(varElemento)& "<br>"
Next
Response.Write "<br>Variable objDict: <br>"
For Each varElemento in objDict
Response.Write varElemento & " : "& objTemp.Item(varElemento)& "<br>"
Next
Response.Write "<br>Session: <br>"
For Each varElemento in Session("objDictS")
Response.Write varElemento & " : "& Session("objDictS").Item(varElemento)& "<br>"
Next
Response.Write "<br><hr><br>"
Response.Write "Borrando directo en el objeto de memoria: <br><br>"
Session("objDictS").Remove("intVar1")
Response.Write "Variable objTemp: <br>"
For Each varElemento in objTemp
Response.Write varElemento & " : "& objTemp.Item(varElemento)& "<br>"
Next
Response.Write "<br>Variable objDict: <br>"
For Each varElemento in objDict
Response.Write varElemento & " : "& objTemp.Item(varElemento)& "<br>"
Next
Response.Write "<br>Session: <br>"
For Each varElemento in Session("objDictS")
Response.Write varElemento & " : "& Session("objDictS").Item(varElemento)& "<br>"
Next
Suerte!!