I should probably point out that my intent wasn't to attack functional languages. Also, I feel the need to mention that points 1, 2, and 3 aren't in any way restricted to functional languages.
Anyhow, my point wasn't that functional programming is bad, just that it's currently a fad. (Not a new one, of course, we've been down this road before.) In general, functional languages are really neat, but terribly impractical. Closures are all the rage right now (a result of the current functional hype) even though they're poorly understood, difficult to read / identify (in many modern languages, that is) and have extremely limited utility. To call them essential, particularly in this case, is more than a little silly!
Just for fun: If you want to see a really neat functional language, check out Joy. It's a purely functional language, but it's not based on lambda calculus. It's very cool.