Here’s the revised shim for IE7 and IE8 that also supports checkboxes: https://gist.github.com/artlawry/6d2c15bc6aa1fe499611
IE7/8 really doesn’t like triggering onchange events until the radios/checkboxes lose focus, so a bit of click triggering was necessary.
Also, IE7/8 does not like re-drawing parts of the page that dynamically change via sibling selectors, so the solution was to add and remove a class from the radio/checkbox parent which triggers a redraw of everything the input would have access to via the sibling selector.
One final IE8 bug is that any comma-grouped css selectors will fail if any one of them do, so I had to separate out the _starks:checked_ rules from the _starks.checked_ rules.
It’s not pretty, but it works.