<p>What I currently do is I link the project to another location and give it the same name, then check the box where it says "Branch after share." 
And then I would Check out the shared project and work off it. And finally merge with the original project.</p>

<p>This works okay, but it feels very clunky: I have multiple instances of the project on my drive; I have to change physical address of the website (i use asp.net 1.1) every time I work on a different branch; </p>

<p>That doesn't feel like the right way to do it. How do you branch your projects with VSS?</p>

I think the way you describe in the question is the only way you can do it in sourceSafe.
I usually name the copied directory "V1.0" (or whatever is appropriate) and keep them all in a folder that is the main project name.