These guidelines are actually incorrect. While passing CultureInfo.InvariantCulture to the comparison methods does cause them to perform culture-insensitive comparisons, it does not cause them to do non-linguistic comparisons. This is important when comparing identifiers such as file paths, registry keys, and environment variables, or making security decisions based on the result. Instead, use one of the String.Compare overloads that takes a StringComparison value, and pass StringComparison.OrdinalIgnoreCase.
For more information on the correct way to compare strings, see the following article:
New Recommendations for Using Strings in Microsoft .NET 2.0
http://msdn2.microsoft.com/en-us/library/ms973919.aspx