Very good points. I was initially enamored by the glamor of dynamic typing and to some extent I still like the concept of not having to declare anything. It's like driving on the Autobahn without any speed limitations. However, since I hav en't done large scale software development using dynamic typing, I haven't faced bugs that are mentioned in this article. It takes a lot of discipline to reduce debugging costs in a dynamic typed language and I agree to the author's point that why deal with enforcing such discipline when you can simply use a statically typed language.
This argument is silly. Some things require more discipline than others. Using tools that inherently enforce discipline is easier than enforcing it through self-discipline, convention and constant reviewing.
+1 to the refactoring example.