If CB silently removes '-Wall' from 'other options' and does not turn on the checkable switch at the same time, it's definitely a bug by design!
What if '-fexceptions' becomes a checkable switch some day?
No problem: At runtime, when you
load a project file its managed correctly as the options are being sorted into the appropriate settings. So, if we decide to change an option (i.e. move it to "default") its no problem after you updated C::B and re-opening the project file.
In a single run, however, there is
no way to find out what you mean when you tell the compiler on one setting page to enable and on the other to disable an option. What ever magic we do here is wrong in 50% of the cases. How would you decide in such a case?
Thus we decided to for for it the way it is now. In addition its more intuitive as most user search the default options in the first place.
The only fail-save way I see is to disable the check-boxes completely and force the user to enter all these flags on one page only. Hence especially newbies will cry then and never learn what a compiler can do for you. So in the end: Its not an option.