A: 

I never had any glitches with draw() and its clip rect. It is by the way implemented very well and gives you an important performance boost if done correct. The Flash rasterizer will only draw the parts of the clipRect.

Regarding your code: I would actually try it with and without the matrix. This could be the problem. You translate and clip. Basically clipping should happen before translation but I am not quite sure about that one.

Joa Ebert
I managed to achieve what I wanted, without setting clipRect, I just create additional BitmapData instances for every frame in the animation. That works, but still doesn't help my misunderstanding.I tried this test call:backBuffer.draw(bitmap, null, null, null, new Rectangle(int(frame)*celWidth,0,celWidth,celHeight));Only clipping and no transform; you would expect it should draw correct animation in (0, 0), but no, I see frames moving as if clipRect sets clipping for destination. Still the same problem.I have 10.0.42.34 (the latest) version of player installed.
Juster
A: 

I had the same problem as you. Upon coming across your post. I tried what you said. Treating the cliprect is actually clipping the target instead of the source. My program works as intended immediately. So yes, in a way it does seems that the cliprect is for clipping the target instead of the source.

Nyon