This may sound tricky, but it's actually rather simple. The reason behind this method is to preserve the file history. It helps to make sure no one else will be using the file during this process.
VS.NET
Open the project in VS.NET
Rename the file(s)
Check-in changes to the project and file(s)
Close VS.NET
VSS
Delete the file(s) with the new name in VSS - they don't have the history