how to set default_value for list_boolean field equal to 1, not 0? I'm using this code to add a list_boolean field to my user entities on D7.20.  The field is added, but the default value shows up as unchecked, whereas I've tried to be careful with 


  'default_value' => array(0 => array('value' => 1)),


to make it show up checked.  

Can someone explain what I'm doing wrong here?

Update: Actually this seems fine, see explanation in answer.

function MYMODULE_create_user_field_binary($myField_name, $label, $desc) {
  $field = array(
   'field_name' =&gt; $myField_name,
   'module' =&gt; 'list',
  'type' =&gt; 'list_boolean',
     'settings' =&gt; array(
     'allowed_values' =&gt; array(
       0 =&gt; '0',
       1 =&gt; '1',
      ),
     'allowed_values_function' =&gt; ''
     ),
     );
  field_create_field($field);

  $field_instance = array(
      'field_name' =&gt; $myField_name,
      'entity_type' =&gt; 'user',
      'bundle' =&gt; 'user',
      'label' =&gt; t($label),
      'description' =&gt; t($desc),
      'default_value' =&gt; array(0 =&gt; array('value' =&gt; 1)),
      'widget' =&gt; array(
        'active' =&gt; 1,
        'module' =&gt; 'options',
        'settings' =&gt; array(
                'display_label' =&gt; 1,
                ),
        'type' =&gt; 'options_onoff',
       ),
      'settings' =&gt; array(
      'user_register_form' =&gt; 1,
    )
    );
  field_create_instance($field_instance);
}
Actually, the behavior here is a bit weird.  The box shows up unchecked when the field examining an existing user (e.g. when browsing /user/1/edit when logged in as admin), but it does show up as checked when browsing to /user/register when not logged in.  So that was a little confusing.

Upon further investigation, the new field isn't populated at all for existing users, i.e. the database entries simply don't exist.  So those will have to be created manually it seems -- at which point I can specify whatever value I want as the "default".  In my case:

INSERT INTO field_data_MYFIELD
(entity_type, bundle, deleted, entity_id, revision_id,language,delta,MYFIELD_value)
SELECT 'user', 'user', 0, users.uid, users.uid, 'und', 0, 1 from users;