Your solution is crashing my script. It just stops outputting and makes illustrator not show anything in the document (as if it was all deleted) and I have to close the document and start a new one. But Sg gives no error.
this is what I figured out:
the rotation (/matrix) seems to be called recursively on a textFrame. So firstly rotate is called on the text AND on the textFrame and then it is called on the textFrame itself. So when you wanted to rotate 45º, the text ends up 45º tilted in a textFrame at 90º from the original.
I've added an image to illustrate what's happening.
In my mind there were two possible solutions;
1. set the Theta to half and then try to rotate the text again seperately of the textFrame, or
2. let it be called twice so the text is still on the correct angle and then rotate the textFrame's Frame back by Theta.
I couldn't acces the text, since it's not a child of the textFrame. But the second method worked.. (although I'm not fond of using 'hacks' like this, I need it to work ;)
so calling the following after each other makes rotation work on textFrames: