Billing fields aren't hidden even when they can
The assignAddressField function, implemented in CRM/Core/BAO/UFField.php#L785, is meant to return a boolean that tells if:
Can the address block be hidden safe in the knowledge all fields are elsewhere collected (see CRM-15118)
But it only has one return statement when that covers some of the cases in which the fields can't be hidden. In other words, the function never returns true. It can let JavaScript know that all the necessary fields are present but it can't let know other PHP functions.
This issue might be related with #129.