The other available values for the "settable" key are "YES" and "REQUIRED", as you can see by scanning the other items in the role-attributes array. The type is string, not Boolean, because there are three possible values. Given the three choices of "NO", "YES", and "REQUIRED", I interpret "REQUIRED" to mean always, "NO" to mean never, and "YES" to mean optional.
So, either item 641 ("NO") is wrong and should be corrected, or it's right and you shouldn't be allowing the selectable children attribute of menu bars to be settable.
There seems to be some inconsistency in the AccessibilityDefinitions.plist file in this area. Item 641 says don't make the selected children attribute of menu bars settable, but item 650 says do make the selected attribute of menu bar items settable. Yet the children of menu bars are menu bar items. If you can set the selected attribute of a menu bar item, why not also allow setting the selected children attribute of the parent menu bar? So I think the plist file is wrong about this, and you are right to make the menu bar's selected children a settable attribute.
So much for the AXMenuBar/AXMenuBarItem level of the hierarchy, where the plist file seems to be wrong. It's also worth looking at the items for the next level down, at the AXMenu/AXMenuItem level, where the plist file appears to be correct.
Item 677, the AXSelected attribute for the AXMenuItem role has a value of "YES" for the "settable" key. This is consistent with item 650, making menu bar items selectable. Together, they mean that the selected attribute of menu bar items (which are the children of menu bars) and menu items (which are the children of menus) are settable, which is correct.
Also look at item 687, the "settable" value of the AXSelectedChildren attribute for the AXMenuItem role, which is "NO". This is correct, because the children of menu items are menus, which shouldn't be selectable. I don't see an item in the array for the AXSelected attribute of the AXMenu role, and that seems correct, too, because the menu shouldn't even be considered for selectability.
What I suspect happened is that the people working on AccessibilityDefinitions.plist got the AXMenuItem/AXMenu level right, and then they applied the same pattern to AXMenuBar/AXMenuBarItem level. But that level shouldn't follow the same pattern.
Sorry for carrying on so long about this. It's been a puzzle to me, and I want to understand it. The next version of my UI Browser product is going to have a new feature, validating actual UI elements and their roles and attributes against the AccessibilityDefinitions.plist file -- which is what the plist file is for. Currently, the new version of UI Browser reports an error in every application because it thinks, based on the plist file, that the menu bar should not support settability for the AXSelectedChildren attribute. And I think this is wrong.