So, whatever this is whether it is indeed a bug or not I have confirmed exists in Access 2010 on Windows 7 64bit.
In terms of potential work arounds:
Clunky - add an unbound, hidden text box ontop of the existing text box. When the procedure is meant to be ran unhide and bring the value into that new control.
Less clunky - Add control.locked = true after the procedure and add it to the routne for allowedits = true/false to actually allow edits
In terms of potential work arounds:
Clunky - add an unbound, hidden text box ontop of the existing text box. When the procedure is meant to be ran unhide and bring the value into that new control.
Less clunky - Add control.locked = true after the procedure and add it to the routne for allowedits = true/false to actually allow edits