In order to get the MPMoviePlayerController to display immediately, you have to call the [myPlayer play] method right away. It is the play method that actually establishes the view on the screen and you probably don't want to wait until loading completes to call this.
You still may want to use your own waiting screen as mentioned by Unfalkster. There are a few intermittent pauses depending on the video source and having a waiting screen helps tighten up the presentation.
If you call [myPlayer setBackgroundColor: [UIColor clearColor]] then the video control will be transparent when it does appear so that your waiting screen and any logos or messages displayed on it will show all the way up until the video starts playing.
This is by far the cleanest approach and is consistent with what the YouTube application is doing.
Barney