@cybereality said:
No, it shouldn't work in either case. Probably some undefined behavior.
So basically you are saying it's an engine bug, correct?
The point of the very first post was that the behavior is not quite undefined. As it is possible to see on screenshots, if executed from editor, Basis = Quat, causes correct conversion to rotation matrix.
I've just checked, if executed in editor, both Basis = Quat and Quat = Basis assignments work correctly and cause implicit conversion of one to another. The last one works only if Basis scale is 1. If scale is not 1, resultant Quat is always identity quaternion.
My guess is, if it was not supposed to work, it should have risen an error.