Thank you for sending me the image of your metamodel.
The 1-1 associations are the reason for overwriting the changes. I would advise you not using 1-1 associations. A 1-1 association can be used with the objects Person and Profile. I cannot come up with another situation of using a 1-1 association.
You should change the following associations:
Customer ->( RegisteredCustomerAddress) -> CustomerAddress (0-1 association). (In theory, a customer can have one or more registered customer addresses)
Customer ->( BillingCustomerAddress)-> CustomerAddress (0-1 association).
Site ->(Address_Site)-> CustomerAddress (0-1 association).
Site->( Site_BillingAddress)-> CustomerAddress (0-1 association).
You should also change the associations of Customer with Contact into 0-1 associations.
There are no actions involved here it a simple Add/Edit Forms which create an object and its associated objects so we have A- association 1 to Object B A - association 2 to Object B and it seems to that there is only one Object B so changes overwrite each other