The <multi/> option only makes sense for leaf nodes. It allows a node to have more than one value, and it's only leaf nodes that can have values. Other nodes (tag or not) can only have child nodes. It's impossible for a node to have both values and child nodes. It's a misconception to think that "eth0" in "interfaces ethernet eth0" is a value—it's a name of a child node. The only difference between normal and tag nodes is that tag node can have children with arbitrary names, while non-tag nodes can only have children with names from a predefined list.
However, the XML schema doesn't reflect it, and the convertor happily creates malformed node.def's that fail to parse. This error should be detected at package build time.
This won't break any existing code, since such definitions wouldn't work to begin with.