MPMoviePlayerController создает свое собственное окно и устанавливает его в качестве ключевого окна - вы, вероятно, знаете это уже из примера приложения MoviePlayer.
Я не знаю почему, но есть задержка, когда проигрыватель использует поток - поэтому ключевое окно, которое вы получаете сразу после инициализации проигрывателя, скорее всего, не окно проигрывателя, так как оно, кажется, добавляется позже.
Вы можете «обмануть» и использовать таймер, чтобы через несколько секунд открыть окно плеера, и добавить свой оверлей:
[NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(addMyOverlay:) userInfo:nil repeats:FALSE]
Или вы можете прослушать событие UIWindowDidBecomeKeyNotification и сделать то же самое:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyWindowChanged:) name:UIWindowDidBecomeKeyNotification object:nil];
Ни один из вариантов не является отличным (я бы хотел знать более чистый способ сделать это), но он выполняет свою работу.