Que raro que no funciona, estas ocupando SQL cierto? Trata asi:
Código:
strSQL = "Insert Into Riesgos(rie_proyecto_cod, rie_fecha_gen, rie_premisa, rie_titulo) "
strSQL = strSQL & "values ('" & proyecto & "','" & fecha_generacion & "'," & premisa & ",'" & titulo & "');SELECT @@IDENTITY AS ident; " & _
"DECLARE @ident int; DECLARE ident_cursor CURSOR FOR SELECT @@IDENTITY; OPEN ident_cursor; FETCH NEXT FROM ident_cursor INTO @ident; "
Set rs Server.CreateObject("ADODB.Recordset")
rs.Open strSQL, Cnn, 3, 3
id = rs("ident")
Si no funciona, mejor que llamen a un programador

porque sho no se!