The overloaded method SqlParameterCollection.Add(String, Object) has been marked as deprecated since version 3.5 SP1 of the .NET Framework. You should use the AddWithValue() method that was introduced with version 2.0.
Is there a good reason why the Add(String, Object) has been replaced with a AddWithValue()? I’m fine with the change, but I am curious about why the change was made.
I would think that it’s because of the possibility for misuse described in the MSDN docs you referenced:
In fact the docs you referenced for the new API say as much: