It seems that unshelving version 1 deletes version 2 but keeps version 1 of the shelf.
I will have to look at this a bit closer as I'm not sure what the proper behaviour should be, neither if this is a flaw in TortoiseSVN or in the Subversion libraries. (Anyone interested should try to reproduce the error on the commandline).
One argument could be that if you decide to go back to shelf version 1, then you have decided that any changes later on are not important anymore. In that case, shelf version 1 should also be deleted. An argument against this is that shelving (opposed to checkpointing) deletes any changes in the WC after moving them to the shelf. But I'm not sure if shelf version 2 is selfcontained or if it stands on top of shelf version 1.
A way to work around this would be to create differently named shelf for each change.
Kind regards,
Daniel