ho reso lo script molto più simile al tuo, togliendo la lock nella select e le altre istruzioni per il cursore
e continua a funzionare
codice:
Set testDB=CreateObject("ADODB.Connection")
testDB.ConnectionString="File Name=E:\TEST\testDB.UDL;"
testDB.Open
Set RS_periodi = CreateObject("ADODB.Recordset")
SQLcmd="select * from PERIODI where id_periodo>0"
RS_periodi.Open SQLcmd, testDB, 3, 3
RS_periodi.addnew
RS_periodi("id_periodo") =99
RS_periodi("id_struttura")=99
RS_periodi("data_inizio") ="2015-05-29 18:01:01"
RS_periodi("data_fine") ="2015-05-30 18:01:01"
RS_periodi.update
RS_periodi.Close
set RS_periodi=nothing
WScript.Quit(0)
controlla bene la open del cursore
l'idea disinstalla/installa ... non credo che funzioni ma ... se ti costa poco ... prova
stai usando un utente che non ha le autorizzazioni sulla tabella ?