Nevím kde bereš tu jistotu. Ne že by se tomu programátor úplně vyhnul, ale psát multijádrovou a multithreadovou aplikaci např. v Haskellu je řádově jednodušší než např. v C/C++, Pythonu nebo Javě. Díky referenční transparentnosti se nemusí o synchronizaci u ne-IO kódu programátor vůbec starat a běh na více jádrech je jen otázkou parametru překladače bez nutnosti program jakkoli upravovat.
Co se týče komerční úspěšnosti funkcionálních jazyků, tak ano, je výrazně menší než u imperativních. Na druhou stranu ty "úspěšné" jako Ruby, Python, Scala nebo nově C++11 hojně využívají funkcionální paradigmaty (uzávěry, lambda fce, generátory seznamů apod.)