Ugly hacks all around! I thought a stone's economic status was determined by its tags in the raws, not reactions.
No. Economic stones are determined by usage. If the stone produces and ore it is economic, if a stone is part of a reaction (be it REACTION_CLASS:(whatever), an ore or stone specific) it is economic, if it is [SHARP] it is economic, I suspect that if it had the [GLASS] token (found on Rock Crystal, but does not generate an error if put on a stone) it would be economic, the [Value:#] token might also determine if a stone is economic but I doubt it.
When you look at the raws the only difference between marble and schist aside from the tile used and the color is that marble has [REACTION_CLASS:FLUX] and [VALUE:2]. The only difference between obsidian and basalt aside from the tile used is that obsidian has [LAVA][SHARP] and [VALUE:3]. The only difference between lignite and graphite is the environments you find it in, lignite is in a reaction. the only difference between platinum and cobaltite is the color, the environments you find it in and that platinum has both [METAL_ORE:PLATINUM:100] and [VALUE:40].
I figure Toady made DF smart enough to look at the reaction files and the tokens on the stones and decide if something has a use for it, write that list to a file and there you go. Toady seems to be programing in the lets make the code complex so it does cool things and makes it easier for me to do stuff later on or in the raws.