I don't think this would be considered a bug - more a limitation or intention of the "on tick" event acting passively, but it doesn't allow the following with the yield command:
1) Cannot yield a variable amount (so "yield $amount resource" does not increase resource by $amount, or by anything at all)
2) Cannot yield an upgrade (so yield upgradename or yield 1 upgradename does not yield that upgrade)
If this could be explained/clarified in the guide, along with similar limitations, it would be immensely helpful to identify what is or isn't possible.
In both cases, there is a simple workaround to achieve the same aim(s), which is to yield 1 hiddenresource, then in the hiddenresource, have an "on earn" event that handles the yield $amount resource or the yield 1 upgradename, and subsequently "lose this" to reset the resource back to 0.