The issue is with Internet Explorer 8 and below. Have found a decent working solution.
Internet Explorer 8 and below is no
Never been hit by this as I do things slightly differently anyway - click on the label does input.checked = !input.checked; return false;, then have a "change" event on the input (rather than a click event).
input.checked = !input.checked; return false;