So, InfoPath does like unbound controls in general (the few controls that may be unbound and still function are buttons, hyperlinks and to a certain degree, expression boxes). But when a control is unbound, the very definition of it is that it cannot have XML data so then InfoPath would have to have a mechanism of exposing data stored in unbound controls.
To make the long story short, secondary data sources are exactly this mechanism. It's not really heavy-weight, it's the right solution. Think of it this way: you want a clean separation between your data and your auxiliary data you don't need to persist, such as the current tab index. A secondary data source based off an XML file is an ideal place for it: it's accessible in the same way the main data source is but it does not persist. And it takes 1 minute to create so I don't think it's really an overkill :) You can reuse it for other unbound scenarios as well by adding extra fields to it.
David Airapetyan / Software Services ArchitectQdabra® Software / Streamline data gathering to turn process into knowledge