When you check out a specific version from repository and try to commit it, you might expect that that revision becomes the HEAD, however that's not the case. You can only commit modified files, regardless of the version you checked out. Of course one hack to do it is checking out the latest version, checking out the revision you want to go back, copying all files from the revision on to latest version, rewriting the existing files and doing the commit later.
However, the correct way to do it is to do a reverse merge. Assume you need to go back to revision 300. Check out the latest version into a directory. On that directory, select Merge from Tortoise SVN menu. Select the first option, Merge a range of revisions. Select the repository URL of your checked out directory. Check Reverse merge. For the Revision range to merge, write 300-HEAD. Select Fully Recursive as Merge Depth and do the Merge.
This will effectively do a reverse merge which is basically undoing all changes back to version 300, but manually. Your working copy is not reverted to version 300, You are at the latest revision, with files modified to content of version 300. You will be able to commit the working copy as a new revision. Please remember to check the merged version in your working copy, if necessary check out revision 300 to another directory and use diff to verify that the files have desired content.