Do any of the other observers redirect to somewhere else? Do they load earlier than this one? (if not mistaken load first by the order of the invoking config file. (got transferred over did it?) and then alphabetically.)
Something to take note of though is also the change in structure of the received array. To support better sanitization, the array has been modified to below as an array of arrays. Further interesting is that the customers_id which is merged into that array (read-only) does not include the sanitization. I plan to submit a pull request related to that.
Code:
$sql_data_array = array(array('fieldName'=>'customers_firstname', 'value'=>$firstname, 'type'=>'stringIgnoreNull'),
array('fieldName'=>'customers_lastname', 'value'=>$lastname, 'type'=>'stringIgnoreNull'),
array('fieldName'=>'customers_email_address', 'value'=>$email_address, 'type'=>'stringIgnoreNull'),
array('fieldName'=>'customers_nick', 'value'=>$nick, 'type'=>'stringIgnoreNull'),
array('fieldName'=>'customers_telephone', 'value'=>$telephone, 'type'=>'stringIgnoreNull'),
array('fieldName'=>'customers_fax', 'value'=>$fax, 'type'=>'stringIgnoreNull'),
array('fieldName'=>'customers_newsletter', 'value'=>$newsletter, 'type'=>'integer'),
array('fieldName'=>'customers_email_format', 'value'=>$email_format, 'type'=>'stringIgnoreNull'),
array('fieldName'=>'customers_default_address_id', 'value'=>0, 'type'=>'integer'),
array('fieldName'=>'customers_password', 'value'=>zen_encrypt_password($password), 'type'=>'stringIgnoreNull'),
array('fieldName'=>'customers_authorization', 'value'=>$customers_authorization, 'type'=>'integer'),
);