What blessing is recited before eating hearts of palm and what are the reasons behind the different opinions?
According to the Star K the proper Bracha is Ho'etz.
The Sefer V’zot Haberacha’s ruling is that they are Ha’adoma.
Rav Bodner [of the Laws of Brochos] makes a distinction between cultivated and wildly grown. According to him, hearts of palm that come from Brazil are wildly grown and would receive a Shehakol, while hearts of palm from Ecuador are cultivated and would receive a Ha’adoma.
— from the Berachot Site
While it is true that the Shulchan Aruch cited by Alex says to make a shehakol, the reasoning given in the mishna berurah is using outdated metzius, since hearts of palm is an industry where trees are specifically planted to harvest the fibers. Although I have no source, I would venture to say it is haetz since that is the only produce that the farmers intend on harvesting from the tree and thereby becomes its main fruit, despite the fact that the tree may have the potential to grow other fruits.
Shulchan Aruch (Orach Chaim 204:1) says Shehakol. Mishnah Berurah (ibid. :9) explains that even though it grows from the ground (and thus by rights ought to be Ha'adamah), it is downgraded because "people don't plant a tree with the intention of eating this part when it's soft, since that prevents the branches from growing."
From the OU:
Rav Belsky, zt”l ruled that the bracha for hearts of palm is Borei Pri Ha’adama. The Gemara (Berachos 36a) cites a disagreement between Rav Yehuda and Shmuel as to which bracha should be recited on kora (hearts of palm). According to Rav Yehuda the bracha is Ha’adama and according to Shmuel, it is Shehakol. The Gemara concludes that since one does not plant a palm tree having in mind to harvest the hearts of palm, the halacha follows the opinion of Shmuel that the bracha is Shehakol. Rav Belsky explained that today, since palm trees are planted with the intent of eating the hearts, the appropriate bracha is Ha’adama. Although hearts of palm grow on a tree, the bracha is not Ha’eitz, but rather Ha’adama. This is because hearts of palm are not an actual fruit, but the core of the stem of the tree. Since they are part of the actual tree and not fruit, the bracha is downgraded from Ha’eitz to Ha’odama.