en el primer ejemplo usas 11 campos que son
id,nombre,descripcion,rubro,proveedor,costo,pre_ma y,pre_det,activo,userid,fecha
y en los valores utilizas solo 10, me imagino que sera por el campo id que sera autoincrement. Si es asi y no lo tienes para que pueda ser nulo , en VALUES debes introducirlo como NULL o si lo tienes que pueda ser nulo quita el campo id.
Hay que tener cuidado con esas cosas, pues mysql crea un error por que no le concuerdan las columnas con los valores introducidos.