Many (most ?) schools teach functionnal programming. Very few teach it first tough, for many reasons.
Most development environments for
functionnal languages suck, and
require extensive programming
knowledge to use adequately. This is
becoming less and less true, but
we're still far away from Visual
Studio for Haskell.
It's harder to jump in the 'flashy
stuff'. GUI toolkits and libs suck
for most functionnal languages. Showing stuff on-screen and rewarding the student is important.
Self-taught programmers tend to
gravitate to imperative/OO languages
for historical reasons. Availability of BASIC in their youth, knowing that their favorite game was written in C or C++, you name it.
Simple resources and tutorials for
functional programming languages are
harder to come by. Compare the number of C# samples to Lisp samples on Code Project. Keep in mind that Lisp is over 5 times as old.