Your problem is that inline-block elements with overflow set to anything other than visible have a baseline that's at the bottom edge of the box (actually, of the bottom margin of the box) instead of having a baseline at the text baseline. See http://www.w3.org/TR/CSS21/visudet.html#propdef-vertical-align the very last paragraph.
Then that baseline, which basically corresponds to the bottom edge of the span's border in your situation is aligned with the baseline of the label, which is the actual baseline of the text in the label. So the text of the label ends up below the text of the span visually.
WebKit doesn't follow the spec here and seems to be unwilling to change that because there's WebKit-specific non-Web content that depends on its current behavior. That's why you're not seeing the effect in WebKit.
Opera 11 does the same thing as IE and Firefox here, per spec.
Oh, and as far as fixing, you can either change the vertical-align of the label or take out the overflow on the span, assuming you actually need the span to be inline-block.