After you let the BOINC client reread config files, these changes will apply to all tasks which start or which resume from disk after this. boincmgr however will keep showing the old <avg_ncpus> value though, which is irritating. Furthermore, tasks which were started before you changed app_config and keep running throughout this change, as well as tasks which were suspended to RAM before the change and are resumed from RAM after the change, will not pick up the change.
[Whether suspended tasks are resumed from RAM or resumed from disk depends on whether or not "[ ] Leave non-GPU tasks in memory while suspended" is set. Which means that GPU tasks can only suspend to disk/ resume from disk, not from/to RAM.]
If you go as far as to shutdown and restart the BOINC client (or even the entire computer), then this means that the client will reread its config files and that all tasks will start or resume from disk subsequently. Therefore, a client shutdown/restart will apply these changes to all tasks. In addition, boincmgr will show the new <avg_ncpus> value after such a client restart.
Hence, no need to cancel already downloaded jobs if you want them to run with altered <avg_ncpus> or/and <cmdline>. This is true for all projects, not just MilkyWay.