Yes, it would be good to have a solution but, as Mark pointed out, it could end up causing more problems by complicating things.
If a lock just ignores changes, someone is bound to loose intentional changes, if the lock asks the "are you sure" on every change, it will drive me crazy. Almost as bad if it asks at every (auto) save before run.
I personally move a form out of the way a lot, the actual form position is set at run time (from my code) so does not matter. Would it be possible to have some properties locked and not some others ? Does sound even less certain ....
Write form changes only at IDE exit ? I always exit before committing to git but I am sure other people do not. And that approach would make the compile a lot more complicated too, the compiler would need to look at hidden form files. No, sorry, too much trouble.
Maybe, the IDE could offer to revert a form file at exit, showing a summary of changes ? Be better than what git diff shows ....
Davo