I put a log create in updateDefaultCustomerBillto() just before the update when the value of $id (cast as an int).
The original value was 'new'. Hope this casts some light.