The autoPlay property isn't retroactive, so if you set autoPlay to false after setting the MediaElement on the MediaPlayer then it won't have an effect.
The reason you don't get the first frame when loading the video with autoPlay false is that OSMF takes a conservative approach to loading media. If we were to show the first frame by default, then we'd trigger the download (for progressive video) or connect to the stream (for streaming). In both cases, those actions might trigger "false views" on the server side, which we've heard from many customers is a problem to avoid.
Also, in many cases the first frame of a video is uninteresting (e.g. no image, black background), so it makes more sense to display a canned poster frame. We've experimented with some techniques for doing this in our Example Player sample app (see the "Poster Frame" and "RTMP Poster Frame" examples). Demo is here, source is here.
Last, I'll add that the behavior you're looking for was considered sufficiently desirable for the Flex video component (which is based on OSMF) that they added native support. So you might also consider looking at their (Flex 4) component for video.
Thanks for the reply Brian. You're right about the Flex VideoPlayer having the first frame by default, but I already came from it and want to stay with the osmf, because I like what you guys are up to I'll find some workaround for now.