I'm quite new to Mercurial but I think that there is no such notions as "checked-in" or "checked-out". Could it be just without icon (or with the blank one) please? It adds more confusion otherwise... On the other hand it will be quite difficult to determine whether the item is under VC or not.
The file controlled by version control system (mercurial) must have an icon. So, it can't be blank or without any icon.
The file that is controlled and have a 'clean' status have the padlock icon. It is the same status as checked-in in central vcs.
The file that is controlled and modified have a checked-out icon. I think, that these two states are the most common states when working with version control system. I'm using a standard MSVS icons for these states, so it should be not that confusing for MSVS users.
Also, the 'locked' states are meaningfull in distributed vcs, because you have your own copy of repository.
I will think about adding other states: deleted, ignored, copied, conflict.
As for ignored files I think sometimes it is convenient to know whether the file matched hgrc ignore rules (in contract with simply files not under control) -- in this case it is obvious whether the file intentionally forgotten or not.