Hi,
On futher investigation I think it maybe a bug as the addresses used on both the guest login and the paypal side are the same.
To try and debug a little I put a debug statment in the program shop/extensions/paypal_express_checkout/storefront/model/extension/paypal_express_checkout.php at line 51. as follows
$var= "ADDRESS KEYS:".print_r(array_keys($address),true)." ADDRESS VALUES: ".print_r(array_values($address),true);
ADebug::checkpoint($var);
and then ran Case 1 and Case 2 and captured the results from the Checkout Step 2 screen.
The attachments show - the paypal addresses and checkout screens and the results for the debug statment for case 1 (guest checkout) and case 2 (paypal express) . In the debug addresses, the zone, zone_code and country_id are the same but in case 2 there is no zone_id.
Thanks for your quick response.