How to set a phone number via entity_metadata_wrapper?
I got around this problem by using the following snippet just before the user_save(..) call:

$fields['field_mobilephone'][LANGUAGE_NONE][0]['number'] = $_REQUEST['mobilephone'];
$fields['field_mobilephone'][LANGUAGE_NONE][0]['country_codes'] = 'au';


This approach bypasses the entity_metadata_wrapper altogether.
Pretty sure there's a cleaner way, but I'm not yet aware of it.