Normally if you have a resource within your zoc and you 'build' on it, it builds up on its own internal construction timer until finished
However, if you wrap a resource with your city and build it, it is then added to the build queue of the city, penalizing you for touching the resource
And then the buggy part - if you cancel the construction in the build queue then 'rebuild' it, it will then 'properly' construct on its own build timer.
edit: I take that back, it looks like if you cancel and then build, it goes back in the queue, but doesn't update until the next turn.
So again, you're getting penalized for touching a resource with your city, which is incredibly counter-intuitive.
Either ALWAYS have resources build on their own timer, or ALWAYS insert them into the queue of the nearest city.