It could be a browser cache issue.
Once you've deleted the core/cache files, all settings will come from the database.
The process is very straightforward, MODX gets the System Settings, then merges in the Context Settings, then User Group Settings, then User Settings. In each case, any matching new values overwrite the existing ones.
I'm not sure if there is a $modx->_config value, but if there is, I'm pretty sure it would match $modx->config. MODX would never get both a cached and uncached value for a setting.
Worst-case, you can do this (assuming that it's not a browser cache issue):
[[!getSetting? &key=`css_prefix`]]
/* getSetting snippet */
$key = $modx->getOption('key', $scriptProperties, '', true);
if (!empty($key)) {
$setting = $modx->getObject('modUserSetting', array('key' => $key), false);
if ($setting) {
$output = $setting->get('value');
} else {
$output = 'Could not get setting object';
}
} else {
$output = 'No Key';
}
[P.S.] On second thought, maybe it is kind of a bug.
[ed. note: BobRay last edited this post 7 years, 1 month ago.]