How do you verify the clip? Is the screenshot from the imported result in Flash? Some player skin? The most likely reason I can imagine is that you are introducing a framerate discrepancy somewhere, quite possibly by workin g in a 29.97 fps comp, but letting the encoder chugg it down to 15 fps, which does not seem to work as advertised. Have you tried nesting your keyed result in a 15 fps comp and then let it encode? If so, does it give the same incorrect result?
To check the clip, I made a small swf file the same dimensions and frame rate, 320x240 @15fps. It's a single frame, single layer with no skin. It just plays the flv file when you open up the swf. The flv file is external, so to test the results, I just keep rendering in AE to the same flv file name.
The first two seconds play okay. The shearing doesn't begin till after that. So I'm suspecting there is something strange with the keyframes. I even tried messing with the keyframe distance settings at 30 and 15, without effect.
The original video is an 854x480 mov file playing at 14.99 fps, millions of colors, Sorenson 3 coding. When I bring it into the comp, which is set at 320x240 @15 fps, I scale the movie to 50% in size. At your suggestion, I just tried making sure that all the frame rates are 14.99 instead of 15. Sadly, without any benefit. I'm still baffled.
I found the answer!
It was that little overlooked Color setting on the Video Output. It should have been set to Premultiplied(Matted) instead of Straight (Unmatted). Setting it to Premultiplied did the trick.