いやー分からんかった。
設定画面で不要な CheckBoxPreference を setEnabled を使って制御してたのですが、気がついたらそれが全然動作しなくなっていた。
何故だ、と言いつつパニック状態が約一日。どうも setEnabled なメソドを呼び出した後で、親な PreferenceScreen の setEnabled を呼び出してました。これがガンだった模様。
conclusion
子供の要素を setEnabled(false) した後で親要素を setEnabled(true) すると子供の要素に設定した属性が解除されるようです。こうして振り返ってみるに当り前の話ですねorz
つうか
これって UI な試験書いてれば回避できたな。試験書かないと駄目だな。