You should never set the "Select Value equal to" value to come from the same recordset as the "Options from recordset" value. That should be left blank for insert pages and set to the updated recordset on update pages.
The issue with it not updating the database is most likely and issue with the update server behavior and not the select list itself. Re-entering and changing values in a dynamic select list can be touchy. I usually apply it correctly the first time and make changes manually in the code when I don't.
I can spend some time looking into improving the dynamic select update functionality.