Add a few tablespoons of water to a small rimmed plate. Add 3 tablespoons of cocoa to another small plate and break up the lumps. Dip the rims of 4 martini glasses into the water then into the cocoa. Set aside.
Fill a saucepan halfway up with water and bring to a simmer over low heat.
In a large glass bowl, whisk together 2 tablespoons cocoa powder, the cornstarch, sugar, chili powder and salt. Put the glass bowl over the simmering water (making sure the bottom doesn't touch the simmering water) and slowly add the half-and-half while whisking. Stir the mixture occasionally while it cooks and thickens, making sure to scrape the bottom and sides of the bowl with a rubber spatula and to whisk out the lumps when they form.
Continue to cook the mixture until it becomes very thick and coats the back of the spoon, about 25 minutes. Stir in the chopped chocolate, butter, and vanilla, and cook for an additional 2 to 3 minutes.
Using kitchen towels, carefully pour the chocolate mixture (it will be hot) into a large liquid measuring cup. Pour the chocolate into the rimmed martini glasses. Let the pudding cool slightly and put a small piece of plastic wrap over the top of the pudding, being careful of the cocoa rim. Refrigerate for 2 hours. Top with a dollop of the chocolate whipped cream.
Add the cream to a medium bowl and whip with an electric hand mixer until thickened. Whip in the confectioners' sugar and chocolate liqueur and continue to beat until you get medium peaks.