You can actually still edit it and uncheck the active box you just have to hack the url to use the id, e.g.
Then the active checkbox is near the bottom.
Thinking out loud......
create an extension with perhaps an API that accepts a contact_id as a param and returns the oldest membership start date
assuming you know in advance what the member since should be you could use the buildForm hook to change the value (using the API or doing the calculation in a a specific class)
alternatively add a little jQuery (...
How immediately do you need this field's value to be set? If it can be delayed, I'd probably do this as a cron script that loops through all that aren't set yet and then sets its value.
I'm assuming also you're familiar with the "View only" checkbox at the bottom of the custom field definition form - that would be how I'd create this field.
We noticed the same issue, but it was only happening if eg we set a years for the past and not set one for the future. If we also added one for the future it worked.
Our thinking is that if only is one set then the options are potentially infinite and hence the default +/- 10 kicks in