Who's more incompetent?
I enjoyed the movie for what it was, mind you, (a very innocent 1939 hollywood movie) and I found Basil Rathbone great as Sherlock. But, I was quite puzzled as to why the writers felt compelled to first make Sherlock appear incompetent and Moriarity brilliant, just to switch the whole thing at the end, since Sherlock had to win of course.
At the beginning of the movie, Moriarity predicts the WHOLE movie, and how Sherlock will act. And guess what? Sherlock really is outsmarted by Moriarity, and acts EXACTLY as Moriarity intended him to. Till the very end. The only reason Moriarity fails, isnt because Sherlock saw through his scheme, quite the contrary, he never did, the only time he did was at the end when Moriarity wouldnt care anymore, since he should have been out of reach for quite some time by then.
Alas, for no reason, Moriarity is stuck trying to dismantle the crown for what? 2 or 3 hours maybe? In between the time Moriarity is left alone in the jewel room and when Sherlock gets there, Watson has time to go meet Sherlock back to the party, and then they have time to go to Moriarity's home, and finally go back to the tower.
I mean, while Moriarity's scheme is ridiculous (as pointed out by a previous thread), if you follow the logic of the movie, he still had EVERYTHING planned, except for being stuck in that jewel room for 2 or 3 hours. The worse is, we pretty much see that dismantling that crown takes him 2 to 3 minutes, which makes us ask the question, what did he do for the next 3 hours or so?
My hypothesis is simply that he decided to wait for Sherlock, to let Sherlock win and take all the credits. And how does Sherlock thanks Moriarity at the end? He murders HIM! By pushing him off the tower, when there was no need to!!! Moriarity had no weapon anymore (having dropped his gun), and was on the verge of falling. Instead of helping him, like any hero would have done, Sherlock pushes him to his death. Why? Because Sherlock knew Moriarity had outsmarted him, only to let Sherlock win afterall. By killing Moriarity (i'm guessing Moriarity never saw that coming, mind you), Sherlock silence the only person able to let the world know he got outsmarted, and badly for that matter.
But of course, i'm guessing this is probably just a case of lazy writing. ;)