I've just noticed that CheckboxMultipleChoice uses isEnabled() when rendering, but I think most other form components use isEnabledInHierarchy(). I like that most of the form components use the hierarchy method because it allows me to create a read only version of my forms by disabling the root component, but CheckboxMultipleChoice's behavior requires special handling.
Any specific reason that it works this way? If not then I'll file a JIRA issue to have it changed. Craig