Visual Studio 2008 has a neat little feature that organises your C# using directives. You can remove unused using directives and even sort them! The sorting algorithm even knows to put System namespaces first and follow with custom namespaces.
You can access this function in two different ways: popup the context menu in the code editor and select Organise Usings, or open the main Edit menu and go to the IntelliSense submenu. The only thing missing is option to apply to all files in the solution.