Bug? : a different result between 2.45 and 2.47 when using “transpose”

I got a different result between 2.45 and 2.47 of the version of Blender…:spin:… Here is the .blend file that pruduces the different result. Please download it, open it in Blender 2.45 and 2.47, start game with pressing P key and see how the cube moves. It will probably move as the following image.

.blend file:
http://fb.esnips.com/doc/01f47853-a3e2-4d93-bd30-2abb2b3862c1/InvertBug

http://1.bp.blogspot.com/_d4nbesSwQqc/SMIWpSQTGDI/AAAAAAAAAYk/y_5X-gplfFs/s400/InvertBug.png

In the .blend file, I wrote some codes to rotate the cube with the function “setDRot”. In the codes, I used the function “transpose” of Blender.Mathutils.Matrix to calculate how much it should rotate, and it appears that the function “transpose” causes the difference.

At mathematical point, 2.45 calculates the function “transpose” correctly and the latest version, 2.47 doesn’t. Is it possible to fix this problem? It would be a big problem if it doesn’t calculate one of the matrix functions.

Does it happen the first time you run the game engine, but not subsequent runs? If so, it may be related to way python code is executed in 2.47. Check my post here: http://blenderartists.org/forum/showthread.php?t=136343