The "output" element in WF2 shouldn't really be a new element. The semantics and interface are very similar to the input element (especially a input type=text with readonly). I suggest changing <output> to <input type=output>.
Only important difference is the fallback behavior. An <output> element would not be submitted in a non-WF2 UA, an <input type=output> would, since it would default to <input type=text>. This is not a big deal, though, since we can just avoid giving the field a name attribute.
I can see where you're coming from, and on some levels I agree, but I would point out two things here. The first is obvious: <input> is for input. To use an <input> as a way of outputting data to the user is semantically backwards.
The second problem is that the <input> element is typically a widget, even when it's of type "text" and read-only. There is no guarantee that the chrome of the widget will not display.
By the way, is there a reason that <output> can't have a |value| attribute? What if we want the initial contents on a legacy UA to be "Calculation Not Available", or perhaps an <input type="text" readonly> element like you suggest? Is this an example of Ian trying to avoid <noscript>-style elements?