Buonasera Nicola,
puoi provare ad inserire la riga:
$CFG->mycoursesperpage = 50;
nel file config.php, prima della riga che inizia per require_once(), file che viene creato all'atto dell'installazione e NON viene sovrascritto da nessuna operazione di aggiornamento, manuale o automatico via CVS/GIT.
E' una prassi comune per molti settaggi nascosti, ne puoi vedere alcuni altri documentati in config-dist.php.
Se poi la soluzione più soddisfacente è quella che descrivi, legata cioè al $CFG->navcourselimit, perchè non provi a proporla nel Tracker di Moodle, descrivendo il tuo caso d'uso? Magari interessa anche ad altri e, per votazione, potrebbe essere accolta e quindi definitivamente modificata anche nel main stream.
HTH,
Matteo