Per MSDN, the \"new\" keyword when used for method hiding only suppresses a warning.
http://msdn.microsoft.com/en-us/library/435f1dw2.aspx
Do I really need
Method hiding is not the same as overriding. Do not use it where overriding should be your choice as they work differently.
I wrote about this some time ago, you might want to read Method hiding or overriding - or the difference between new and virtual for more details.
Method hiding should be discouraged because it changes the semantics of a class. The functionality changes depending on if you have a reference to the base, or the actual class. That's the main reason there is a compiler warning about it. It can do unexpected things if the caller is not aware that method hiding is in use.
ADDITIONAL
Based on updates to the question. Method Hiding does not require the keyword new
, although you should make it explicit and use the keyword if that is what you are doing. It removes the compiler warning and alerts other developers (or yourself 6 months down the line) what your intention was.
I still wouldn't recommend method hiding, tho'
UPDATE: 14/5/11
I moved my blog, so I'm updating any old links