Change form submit #access as a result of ajax callback
You really shouldn't alter the form in your ajax callback.  What you want to do is set a variable in the form_state in the ajax callback, and your form code should look for that variable to decide how to set #access

So in your ajax callback, lets say whatever conditions are met, and you want to disable access when it reloads...

So set a variable like, $form_state['access_to_field_revoked'] = TRUE

Then your form code:

$form['actions'] = [
  'id_lookup' =&gt; [
    '#type' =&gt; 'submit',
    '#title' =&gt; 'Submit',
    '#value' =&gt; 'Lookup ID',
    '#access' =&gt; empty($form_state['access_to_field_revoked']) ? TRUE : FALSE,
    '#ajax' =&gt; [
      'callback' =&gt; 'my_module_populate_id_info',
      'wrapper' =&gt; 'id_info',
      'method' =&gt; 'replace',
      'effect' =&gt; 'fade',
    ],
  ],
  'submit' =&gt; [
    '#type' =&gt; 'submit',
    '#title' =&gt; 'Submit',
    '#value' =&gt; 'Register for Event',
    '#access' =&gt; !empty($form_state['access_to_field_revoked']) ? TRUE : FALSE,
  ],
  '#weight' =&gt; 100
];


You will probably need another variable like $form_state['generate_additional_fields'] = TRUE;
and put your FAPI for those fields in the form callback, and not the ajax callback...
so in your form callback:

if(!empty($form_state['generate_additional_fields']) {
// add your additional form fields now
}


Almost never a reason to alter the $form variable in the ajax callback. It is always best to set a variable in the form_state and then look for that variable in the form callback to actually set the FAPI up.  

UPDATE:
Misread the post, so your code was in the form handler, not the ajax handler, and that will work. 

One way that the #access property would not get updated is if the 'actions' buttons are outside of the wrapper div that ajax replaces. If they are, they would be showing via the '#access' value from initial form load.  One solution would be to make sure that the wrapper that the ajax callback refreshes includes the action buttons, so that they are re-rendered.

In the FAPI inside your conditional, there is a suffix, with an extra /div . This maybe the closing div for your wrapper, and if that was placed after the form actions, perhaps they would get refreshed by the ajax callback, and it would work