Assert on settings misuse

As discussed with @montellese in #3103, assert instead of failing gracefully (aka hiding a bug) when misusing settings.  Only real question is 42ab797, maybe this wasn't logged on purpose because it actually happens often?