I found the solution to the problem where the ManageProfile was using the default provider on this page:
Specifies a provider specific to the property. By default, all properties are managed using the default provider specified for profile properties, but individual properties can also use different providers
By specifying the provider for each property I was able to get it to save my values for the second provider.
Strangely... the values for the default provider also save correctly even though I specified the provider to be the secondary provider.