Change Customer->Contact relation
Challenge
Do you have a situation where you need to change which Salesforce Contact the customer in Magento is linked with? In addition, you want all new orders in Magento to be associated with the new Contact instead of the old one.
Solution
In Salesforce
Create a new Contact and Account in the Salesforce (or identify an existing Account+Contact you want to use). (Lets call this Contact A).
Manually assign existing Salesforce Orders and Opportunities to this Account+Contact. This will re-link all past order and opportunity records to the new Account+Contact. (this step is optional)
Navigate to the old Salesforce Contact (lets call this Contact B)
Get the value in MagentoId field from Contact B and move it to Contact A
You may need make this field visible in the Contact layout (if you cannot find it).
Make sure the MagentoId field on the Contact B is blank, and Contact A has the MagentoId field filled out.
In Magento Admin
Complete these steps if you do not see Salesforce ID Mappings menu item under Salesforce (main navigation)
Navigate to Salesforce (main navigation) > General settings in Magento Admin
Enable the Developer Mode under the Advanced settings (section)
Refresh Magento cache
A new Salesforce ID Mappings item should appear in the Salesforce menu after that
Navigate to
Salesforce (main navigation) > Salesforce ID Mappings
Use filtration on that page to find where
Magento Type = Customer
Magento Id equals the MagentoId from Contact A
Delete two records that correspond with Account and Contact only (see the example blow)
Screencast (step by step)