Model Property input fields not initially disabled in old-style Editor

(Bug, Closed -> Will Not Fix, Priority: High, Test Status: No automated tests yet , Reported By Justin du Coeur, Effort: Moderate)
Summary: Subtle, stupid and horrible bug -- only reason it isn't ship-stop is that it's only in the old-style Editor, and only happens in Instances.
Precisely speaking: if I have a Model Property defined on a Model, and I edit an Instance in the old Editor, the Model Property shows up, all ready to take the input, despite the fact that the Edit button hasn't been turned on. If I fill in the fields of the Model Property, the behaviour seems to be undefined: I've seen it act differently in different Spaces.
Note that the Application code for edit handling may be non-deterministic when it comes to deletion: rawProps is a list, and can potentially contain multiple values for a given Property, some of them empty and some not! And when we are calculating Deletions down below, it seems to send the DeletedValue message if any of those are Empty. I'm actually not sure why this ever works.
Multiple fixes are called for here. First, the edit handling should probably be generating a Set of FormFillInfos, not a List, with the last one winning. And at the UI level, we should be disabling the inputs for a Model Property until and unless it is marked as non-empty.