1. Preheat oven to 350ºF. Make crust: In a bowl, mix graham cracker crumbs, almonds and salt with a flexible spatula. Stir in melted butter until dry ingredients are lightly moistened. Press mixture into bottom of a 9-inch springform pan. Wrap outside of pan tightly with two layers of aluminum foil. Bake for 10 minutes. Cool on a wire rack. Leave foil on.
2. Make filling: Using an electric mixer on medium speed, beat cream cheese and sugar until well combined and light, about 2 minutes. Scrape down sides and bottom of bowl and beat again until smooth. Beat in eggs one at a time, beating well after each addition. Scrape down bowl again. Beat in vanilla, cream of coconut and salt. (Pour remaining cream of coconut into a small bowl, cover it with plastic and refrigerate to use later in topping.) Pour filling onto crust. Transfer springform pan to a roasting pan; fill roasting pan with hot tap water until it reaches 1 inch up sides of springform pan.
3. Bake for 1 hour, until filling is set but still a bit jiggly in center (it will firm up as it cools). Take springform pan out of roasting pan and remove foil. Let cake cool on a wire rack for 1 hour.
4. Lightly cover cheesecake with plastic wrap and refrigerate until cold and firm, at least 6 hours.
5. Make topping: Pour cream of coconut and heavy cream into a saucepan and warm over medium-low heat until mixture is just simmering. In a bowl, pour mixture over chocolate and whisk until melted and mixture is smooth. Let it cool. Pour 1/2 cup to 1 cup topping over cheesecake, spreading with an offset spatula. Garnish with toasted coconut and sliced almonds, if desired. Chill until chocolate mixture has set, about 10 minutes. Run a sharp paring knife around inside of pan; release sides. Slice and serve.