I do believe that you have switched on configuration option in VS .NET
called: "[Checkout automatically] when checked-in items are modified".
What happens next... When you start typing (editing of checked-in
file) you usually type several characters. For some reason VS .NET
tries to ask us for _each_ character the status of file, and probably
in your case, when it tries checkout file one of status requests still
active. Then the working copy is locked and lock fails. This is what I
can suppose.
I have two suggestions:
1. Try to use dll where we disable background status fetching:
http://www.pushok.com/files/PushokSVNSCC.zip2. If this does not help try switch on option
"[Prompt for checkout] when checked-in items are modified".
With this option IDE will show checkout dialog when you start file
modification and all extra characters will go to the checkout comment.
Not handy, but may solve issue.
Let me know if this helps or not.