L'errore è dovuto al fatto che tenti di inserire una stringa vuota "" all'interno di un campo data, usa il Null:
codice:
...

sql = "SELECT * FROM nomi WHERE ID = "&intCodice
 Set rs = Server.CreateObject("ADODB.Recordset")
 rs.Open sql, conn ,3,3
 
rs("nome")=request.form("nome")
 rs("cognome")=request.form("cognome")

 if(request.form("data")<>"")then
         rs("data_nascita")=request.form("data")
 else
         rs("data_nascita")=Null 
 end if 

 rs.update
 rs.Close
 set rs = Nothing
 conn.Close

...