After a bit of testing, I think I have determined the cause of this bug. It actually has nothing to do with how far away you are from the block. In fact, it seems to have something to do with a bug in Minecraft which has been fixed known as "click mining".
When you mine a row of blocks the "normal" way, standing directly in front of them and holding forward, the system works properly. Say you're mining a row of dirt blocks with a diamond shovel. There is a small amount of delay between each block's destruction and the next block destruction's beginning. If this is hard to understand, basically the arm has to swing back up before the next block can get hit, so there's a small amount of delay.
Someone discovered this and introduced "click mining" to the scene. All you did was release/repress the mouse button after each block was destroyed. This instantly returned the arm to the "unswung" position, eliminating the delay between each block's destruction. Notch figured this out and introduced a small delay after you press the mouse button down, so it negated the time advantage of click mining.
However, when doing the method you described, the block is broken before you're in range of the next block. So really, there's a small period between each dirt block where no block is in range. This instantly returns the shovel to the unswung postion, so there's no delay between blocks. The click mining fix only adds a delay after mouse presses, and this is not a mouse press, you're just holding it down, so there's no delay. Essentially, you've found a way around the click mining fix.
As for tall grass, it still works with grass on top of it. However, you must be aiming for the bottom of the block, because if the tall grass gets in range, the swing delay is reintroduced, leaving you with the delay again.
Long story short, yes, it's a bug. Still, it's sorta useful in select situations, but those situations are rare, so it's not a really big problem.
You can indeed get experience orbs by smelting common materials, but you have to use coal or charcoal to do the smelting.
Coal is a limited resource and charcoal requires farming, so this isn't quite a game-breaking XP generation loop.
Best Answer
With a Haste II beacon, it would be instant mining, so you would break one block per game tick. That's the 0.05 seconds in @Penguin's answer. However, without Haste II, after you break the first stone block in 0.05 seconds, you will have a 0.3 seconds delay before the next block starts breaking.
Source: official wiki:
So, with an Efficiency V diamond pickaxe and nothing else, you would break the first stone block in 0.05 seconds, and the rest of them at a rate of one each 0.35 seconds.