It already has an abort option for interactive usage (i.e. if you are being asked which format to scan when there are multiple).
When it is operating non-interactively there currently is no way to stop it other than killing Calibre. As this is not the sort of thing you would be running repeatedly on your whole book collection I figured I could get away with it for a while.
Putting a dialog up and running the scan in the background is obviously possible, it just involves a lot more development. And some threading, something which is fraught with potential to go horribly wrong in Python/Qt if done badly.
It's on the future wishlist to take a look at.