When you install Subversion 1.4.0 on the server and also TortoiseSVN on the client machine, the first time TortoiseSVN touches the repository on the server (for example by showing the log) the local working copy is upgraded to the new format.
Once a working copy is upgraded AnkhSVN, the Visual Studio Add-In for Subversion support refuses to attach to the the solution.

Obviously AnkhSVN is out of date, so you're going to remove it using the uninstaller. The next time you open Visual Studio all traces of AnkhSVN will be gone, right? Unfortunately this is not the case. As you can see in the screenshot below, there's a entry left over in the main menu and several other items in the context menu of the Solution Explorer, all grayed out.

Removing the main menu entry is fairly easy using View/Toolbars/Customize... But how to modify the context menu to get rid those items? The AnkhSVN wiki proposes resetting Visual Studio to the defaults. I believe there's a better solution.
In case you don't want to lose your IDE customizations you may use the VBA macro that does the job by enumerating all Visual Studio toolbars and commands and deleting the ones that start with "Ankh". The script takes a while to run, but wipes all menu items related to AnkhSVN. Tested on Visual Studio .NET 2003 and Visual Studio 2005 after uninstalling AnkhSVN.
Imports System
Imports EnvDTE
Imports System.Diagnostics
' Comment the following line if you're running the macro in Visual Studio .NET 2003.
Imports Microsoft.VisualStudio.CommandBars
Imports Microsoft.Office.Core
Public Module RemoveAnkhMenus
Public Sub RemoveAnkhMenus()
DeleteAnkhCommandControls()
DeleteAnkhCommands()
End Sub
Private Sub DeleteAnkhCommandControls()
For Each bar As CommandBar In CType(DTE.CommandBars, CommandBars)
' Debug.WriteLine(String.Format("Processing : {0}", GetPath(bar)))
RecurseCommandControls(bar.Controls)
Next
End Sub
Private Sub RecurseCommandControls(ByVal controls As CommandBarControls)
For Each control As CommandBarControl In controls
' Debug.WriteLine(String.Format("Processing : {0}", GetPath(control)))
' Recurse childs.
If control.accChildCount > 0 Then
If control.Type = MsoControlType.msoControlPopup Then
RecurseCommandControls(CType(control, CommandBarPopup).Controls)
End If
End If
' Delete the control if it is related to AnkhSVN.
DeleteAnkhCommandControl(control)
Next
End Sub
Private Sub DeleteAnkhCommandControl(ByVal control As CommandBarControl)
' Delete control if it is related to AnkhSVN.
If control.Caption.StartsWith("Ankh") Then
Debug.WriteLine(String.Format("Deleting control: {0}", GetPath(control)))
control.Delete()
End If
End Sub
Private Sub DeleteAnkhCommands()
' Delete all commands related to AnkhSVN.
For Each command As Command In DTE.Commands
If command.Name <> Nothing Then
If command.Name.StartsWith("Ankh") Then
Debug.WriteLine(String.Format("Deleting command: {0}", command.Name))
command.Delete()
End If
End If
Next
End Sub
Private Function GetPath(ByVal control As Object) As String
If TypeOf (control) Is CommandBarControl Then
Dim cbc As CommandBarControl
cbc = CType(control, CommandBarControl)
Return GetPath(cbc.Parent) + "->" + cbc.Caption
End If
If TypeOf (control) Is CommandBar Then
Dim cb As CommandBar
cb = CType(control, CommandBar)
Return GetPath(cb.Parent) + "->" + cb.Name
End If
Return "DTE"
End Function
End Module
Download the macro file here.