Que sucede si le quitas las arrobas a los nombres de los parametros?
Osea en lugar de @usuario ponerle usuario.
asi:
Código Delphi
[-]
datamodulo.ADOprocedimiento.ProcedureName:='creacion_usuario';
datamodulo.ADOprocedimiento.Parameters.ParamByName('usuario').Value:=edtusuario.Text;
datamodulo.ADOprocedimiento.Parameters.ParamByName('pass').Value:=edtcontrasena.Text;
datamodulo.ADOprocedimiento.ExecProc;
Pues el arroba indica que ese es un parametro pero no creo que sea necesario que el nombre del parametro desde delphi la necesite.