It's not the name attribute that causes it to work. It's the line breaks within the label tag:
http://jsfiddle.net/r6SVH/7/The code I originally started with, before reducing it down for the fiddle, had name tags and the same problem.
You've all helped me confirm it as an IE bug, but fortunately one with simple workarounds. Adding the line breaks turned out to be the best solution in my real-world case.
I guess I wasn't really looking for a solution (there are several workarounds) as much as confirmation that I wasn't crazy and it is a bug with IE.
Thanks team!