Roger Moore got it after appearing in The Saint, which was a direct rip off of Bond.Cavill should be the choice, he has proven he can do the role with his performances in The Man From UNCLE, Mission Impossible and Argyle. However that is probably the main reason why he wont get the role. The Bond producers have egos and probably want to create a new star rather than give it to an established well known movie star.
Roger Moore could be argued as an exception with his work on The Saint. But that was a TV show and not a movie.
Pierce Brosnan got it after appearing in Remington Steele.
If anything, a proven track record in a similar role should be seen as making one more likely, not less likely.