Step 1Heat the oven to 350 degrees. Combine the chocolate and butter in a metal bowl set over a pan of simmering water and heat until melted and just combined, stirring occasionally. Remove from heat and allow to cool until just warm to the touch but still melted.
Step 2While the chocolate is cooling, beat the egg yolks until light and fluffy. Slowly drizzle one-fourth cup sugar into the eggs and continue to beat until fluffy and airy. Beat in 1 teaspoon vanilla until combined.
Step 3Separately, beat four egg whites with the salt to soft peaks. Drizzle one-fourth cup sugar into the whites and continue to beat to stiff peaks. Set aside.
Step 4Fold the whipped egg whites gently into the whipped yolks, then fold in the melted chocolate and cocoa.
Step 5Spread the batter into a 15-inch by 10-inch baking pan which has been buttered, lined with parchment paper, and buttered again. Bake the cake for 10 to 12 minutes, until set. Turn the cake out onto a rack to cool.
Step 6Place the cooled cake on a cutting board and cut three rectangles from the cake, each the dimensions of the 9-inch loaf pan (these rectangles will form layers in the final dessert). Set aside.
Step 7Make the hazelnut praline: In a small saucepan, combine one-half cup sugar with 2 tablespoons water. Heat to boiling (dissolving the sugar), then reduce the heat to a simmer and cook until the syrup turns golden brown, several minutes. Stir in the toasted hazelnuts, then pour out onto a lightly-buttered baking sheet and allow to cool. Break the pralines into pieces and coarsely process in a food processor; you should have 1 1/2 cups crushed praline. Set aside.
Step 8Make the semifreddo: Whip the cream to stiff peaks, then fold in the amaretto liqueur and remaining vanilla. Separately, whip the remaining three egg whites. Gradually beat in the remaining one-half cup sugar until stiff peaks form. Gently fold the egg whites into the whipped cream, along with 1 cup of the crushed praline.
Step 9Assemble the cake: Line the loaf pan with plastic wrap. Place 1 layer of the cake snugly into the bottom of the pan. Evenly spread one-third of the semifreddo base over the top of the cake, and top with a generous tablespoon of the crushed pralines. Repeat with the remaining layers, for a total of three layers. Sprinkle the remaining praline evenly over the top of the cake. Freeze, wrapped in plastic, until ready to serve.
Step 10To unmold the cake, dip the base of the frozen loaf pan quickly in a bowl of hot water to loosen the cake. Remove the cake (still wrapped in plastic) from the mold. Gently unwrap the cake. The cake can be served whole on a serving platter garnished with orange slices or kumquats, or can be sliced.