I've been following a CS Forums thread where user profile settings were not being saved. Working through the usual issues (in this case confirming that the user email address was both valid and unique) and watching for updates to the database (aspnet_profile PropertyValues field), the address was good but nothing was being updated in the database.
As is often the case when trying to help someone remotely, you don't know the whole story. In this case the site's TitleBar skin was modified to include
<form method="get" action="http://www.google.co.uk/custom" target="google_window">
....
</form>
Uhh, yeah, that would do it. So when I asked if any changes were made in the EditProfile control, I should have asked if any changes were made in ANY page control. Geez.