I completely agree with this statement here. About a month ago, my company had challenged this very idea. We used an inhouse utility application developed in Visual Studio 2005 (C#). We tried obfuscating it 3 different times with different tools to see which was best. My boss had used the obfuscaters and gave me the binaries. On each attempt, I used "Reflector" to perform the disassembly. Each time, the disassembled code was nearly perfect. Even most of the indentation and spacing was right. The biggest differences I saw is that they primarily renamed all the variables to more obscure names by using just letters and numbers. All the logic was clear which helped to decipher what each variable was used for. If you have never heard of or even used Reflector, I strongly suggest you check it out. Try it on your .NET binaries that have been obfuscated. Here is a link to the site: http://www.aisto.com/roeder/dotnet/[^]
Life should NOT be a journey to the grave with the intention of arriving safely in an attractive and well preserved body, but rather to skid in sideways, burger in one hand, drink in the other, body thoroughly used up, totally worn out and screaming "WOO HOO......What a ride!"