In principal running the same code with the same data leads to the same results. I do not see any reason why $set would start to ignore the dot notation.
What I suspect is one of the following scenario:
1 - someone used Compass to create the field with the dot
2 - someone used $setField to create the field with the dot