I know I probably shouldn't be going off-topic, but in response to Mark above, Harry may have married a commoner, but so too did William, a future King. Indeed so, technically, did Charles, twice, since neither Diana or Camilla held a royal or peerage title in their own right prior to marriage, both only acquired courtesy titles dervied from their marriage to Charles. Likewise Elizabeth Bowes-Lyon was also technically a commoner when she married the future George VI, and dervied her titles from being married to him. You have to go back to Queen Mary, wife of George V, who was born HSH Princess May von Teck (from a cadet branch of the royal family of Wurttemberg), before you find a monarch, or future monarch, marrying someone who was not a commoner.
As for it being a guarantee that Harry will never be King, how do you work that out? He is still 6th in line to the throne, behind his father, brother, and niblings, and the third person of full age in that line. One day our current Queen and Prince of Wales will have both passed, and conceivably Wiliam could happen to unexpectedly predecease one or both of those (or renounce, or become Catholic etc). If William's kids are still minors at that point then Harry would be the Regent. If they are adults then they may chose to marry without the permission of the monarch, or choose to become Catholic, and may have all become debarred from succession, or else they may simply choose to give up their succession rights, for themselves and their descendants, any of such scenarios would then lead to Harry, or his children and future heirs, being on the throne. Second sons, and their lines, have reached the throne on plenty of occassions in the past, George V was a second son (his older brother had died in his thirties from pneumonia, having only been engaged at the time, not married), as was George VI (thanks to his older brother abdicating to marry a twice divorced American woman).