I have the feeling that a lot of the economy hold back is in the entity tracking still. This is also visible with the animal training, if you train animals that are not part of the default domesticated set, your civ can gain information about training them, but no matter what you do you can't get them to domesticated. This is because your civ is not able to add the new animals to its list of existing resources. Similarly, if you make a gazillion mugs, your civ will never be able to realize you did that. No matter how you feel about economy, economic actors like civilizations should probably understand how to track and change their resources better before economy can move forward.
That said, I do agree with you that it is quite silly. It gets even sillier in adventure mode, where you can have multiple separate stacks of water in the same waterskin! We'll just have to wait and see what Toady comes up with, I guess
There are really two quite different things that we are talking about when we say the Economy. One of these is what used to exist (let's call it the Old Economy) but was removed because it resulted in silliness and the other still exists but is switched off once World-Gen is complete, so in effect the economic data for all sites and civilisations is fixed forever and nothing that can happen can ever alter it again.
Now the problems of the Old Economy are not reducible simply to stacking as such. But the need to freeze the Economy when World-Gen completes is I surmise basically to do with stacking. The economy is based upon stacks of items moving around but once the player breaks up those stacks into individual items and in the process adds information to the individual objects it becomes impossible to easily put the genie back in the bottle.
What comes to the rescue here however is that basically what the player sees does not really have to be what is actually going on. It is entirely possible to create purely abstract stacks which don't exist anywhere except in the economy and then present said objects *to* the player as individual items. When the player offloads, all the items actually simply get bundled up with all their additional data into said abstract stacks. If I throw a plump helmet and kill a goblin, said plump helmet is simply added into the abstract stack as "one of these plump helmets killed a goblin". When the plump helmets get shipped somewhere else, the information is downloaded such that if I take an individual plump helmet from a physical stack there is a % chance that it will be that particular plump helmet that I pick up and the game will recreate the item information in full.
For instance, if we have a site we have two stacks of clothing. One of these is the stacks of unused clothing the site has in stock and can trade with other sites while the second is the privately owned clothing on the bodies of it's dwarves. The second stack is used to determine the quantity and quality of the clothing worn by the residents while the first is used to decide the site's stockpiles in the same fashion. Because they don't actually exist when we aren't there, it is entirely possible for the game to go about clothing the entire population from the central stack and any information stored in a particular item of clothing has a % probability of ending up on anyone's back based upon the number of instances of said information there are.
If we in adventure mode turn up and sell lots of clothing to individual dwarves on-site, the clothing gets added to the private rather than the public stack. That means it will first end up being given to any unclothed dwarves there might be and then it registers as a surplus. If there is a surplus in the private stack, it gets moved into the public stack and if there is a surplus in both stacks, the items of that type can then potentially be bought by us in fortress mode.
That means that in adventure mode we can kill a load of bandits, sell their clothing to the site *or* the individual dwarves and as a result of this end up with more clothing to buy from the caravan in fortress mode.