This error message is not one of git-tfs but one of TFS (I just looked at the source code).
I just don't remember exactly how git-tfs manage shelveset because since I switch to git-tfs I never used this feature again. Mostly due to the fact that shelvesets are very badly designed :( And I think that your problem come from that design problem!
With a shelveset, which is in fact a bunch off file diff, you never know what is the root changeset from where it was "generated". So, if you try to unshelve it quite later, you've got some problems (like the one I think you have) because some files or folders were renamed or removed!
I think that your problem come from the fact that you try to unshelve with a checkouted git commit way too recent.
Try to checkout a commit approximately at the date of the shelveset and then unshelve!
If it works, you should just have to rebase your commit on your branch (hoping that git handle better the renaming, which it did most of the time).
If it doesn't work, I don't know...
And Internet doesn't help us with this TFS error message :(
edit: since then, I think that git-tfs has been improved and perhaps it unshelve to the right parent commit.
edit2: before investigating too much, use the --force
flag that could solve some edge cases