The problem lies with the API permission to the StateProvince entity.  Civi event users do not have access to this entity via the API. (I'm not sure why this is)

To fix this I created a custom drupal module with the civi hook: [mymodule_civicrm_alterAPIPermissions][1]

<pre>
mymodule_civicrm_alterAPIPermissions($entity, $action, &$params, &$permissions) {

$permissions['state_province'] = array(
    'get' => array(
      'access CiviCRM',
      'access CiviEvent',
      'edit all events',
    ),
  );
}
</pre>

Which gives CiviEvent users access to this entity via the API.


  [1]: https://docs.civicrm.org/dev/en/master/hooks/hook_civicrm_alterAPIPermissions/