Interesting. I always use set field "" because it works whether the field is on the layout or not. I'll see if I can replicate the issue when using clear.
Might just be something wonky because the file was converted to 12. Lots of issues relating to this that I won't get into... though I will say we're completely rebuilding one solution in 12 because the converted file was so unstable.
You are correct (I think) in saying it is related to the convered file. The conditions that will reproduce it everytime are.
Convert the 11 file to 12.
Move the old field to the work space.
Create a new field (same field from the table as the one in the work space) on the layout.
Run the script to clear the field.
You can also get this to happen if you delete the version 11 field from the workspace then get the clear step working with the 12 field. Next move the 12 field to the work space and paste the deleted 11 field on the layout.
This problem does not appear to happen in a non converted file.