I've been using TortoiseHG for some time now and I've been running into the same issue once in a while.
Sometimes, when I commit my work, it gives me an error, saying that one (or more) of my files is being used by another process. However, the commit still goes through and is visible in the repository browser.
Next, after closing the processes that caused the error, I reopen the commit dialog that says that there are still changes to be committed (meaning the first commit didn't really do anything). I do another commit, which accomplishes what I wanted to do in the first place, but now I have a different problem: the repository now has two heads. Of course, I'm forced to merge the two heads after this, but my process seems unclean.
Is there a better way to get around such a problem, such as by somehow undoing the commit (but not reverting my files), or should I not bother cleaning stuff like this up?