Server.CreateObject("ADODB.Connection")
Establece la conexión con la BD para que luego podamos atacarla correctamente. Establece los parametros pertinentes para que podamos entendernos (entre el lenguaje que estas usando y el propio de la BD. Tambien tiene metodos que nos permite atacar a la BD desde ellos pero lo correcto no es eso.
Server.CreateObject("ADODB.Recordset")
Objeto destinado a alojar información de forma organizada. Este objeto es muy similar a un array asociativo tipico de PHP. En el la informacion esta guardada en forma de registros y organizada en forma de campos (como las hojas de Excel).
Server.CreateObject("ADODB.Command")
El objeto Command sirve principalmente para enviar consultas parametrizadas y que te devuelva un recordset. Es el que menos se usa pues es el de mas complejidad 
pero, a grosso modo, se usa mucho para ejecutar procedimientos en la BD y lanzar triggers modificando parametros de estos.
El error que te da es debido a otras causas:
cone.execute("INSERT INTO usuarios (user_id, user_pass) VALUES (user_nom, user_pas)") A esa consulta no le estas enviando nada ya que user_nom y user_pas no son variables de la BD. Primero tienes que evaluar las variables en la cadena de string para que esta se forme correctamente y se envien los datos correctos.
cone.execute("INSERT INTO usuarios (user_id, user_pass) VALUES ('" + user_nom + "', '" + user_pas + "')")
Si te fijas bien hay comillas simples junto a las comillas dobles. Su posicionamiento es tan importante que si no las pones correctamente no te funcionará. LO ideal es que te preguntes porqué son tan importantes
Un saludo