That seems backwards. Isn't Date current an unstored calculation field that thus always returns today's date? If so, then why would you need to change the date calc field? With each new day, this relationship should fail to point to a record in Calc unless you have records with future dates in them.
Date current: yes, always today's date. The reason Date_calc needs to be modifiable, is that on Monday a user may need to create 3 records: Sat, Sun, Mon. The first record he/she creates will have Monday's date, so they need to modify to Sat. That works, but when you try to create another record, the warning shows saying there's already a record for this date. Since I'm change away from today's date, I don't understand why such a record is found.
Perhaps you just need to commit records immediately after changing the date field, but what exact "warning" have you set up here? From what context does it evaluate?
So far on testing, you are right, it needed a 'commit on modify' script on the date field.