I remember a similar outcry when Mr Cruise was cast as Lestat in 'Interview with a vampire'. Even the author went public and criticised how wrong he was for the part.
Then after release, she printed a full page notice in the NY Times apologising as she thought he was marvelous in it...and so did I.
Tom's personal oddness aside, the man is a good actor...The Bon Jovi of movies he maybe, but likeable, entertaining and convincing nonetheless.
edit: Now, if you want to talk about bad casting . . how about Highlander?
A French man playing a Scot (with a slightly french accent) supported by the most Scottish of blokes (Mishter Connery) who played a Spaniard/Egyptian. 'my name is Ramiresh....etc etc"
Mind you, Sean Connery always has the same accent whatever part he plays...I did enjoy his Scotto-Russian in Hunt for Red October