Hola de nuevo, Santiago.
Pues he hecho la prueba en un Moodle de pruebas, y cambiando directamente la variable en la base de datos (mdl_config > enrol_plugins_enabled) se activa o desactiva la correspondiente extensión de matriculación (database en este caso) ... pero es cierto, el cambio no se ve inmediatamente reflejado, salvo que borres las cachés.
Por lo que he podido ver, esa configuración está "cacheada" en un archivo situado dentro de la carpeta "moodledata" (o el nombre que ahí le hayáis dado), en una ruta tal como esta: ...\cache\cachestore_file\default_application\core_config\...\...
Lo que va en los puntos finales no es igual en una plataforma Moodle y otra, pero no sé si es siempre fijo en una misma plataforma. Si fuera el segundo caso, bastaría con que tu script, además de cambiar el valor en la base de datos, eliminara ese archivo "cacheado" para que el cambio fuera inmediato. Puedes probar a ver ...
Saludos.