In a medium sauce pot over medium heat, combine the sugar, cocoa powder and salt. Add 1/2 cup of heavy cream and stir until combined -- it will be a thick paste at first. Bring the mixture up to a bubble and simmer until the mixture has liquefied. Add milk chocolate and 2 additional cups of heavy cream, stir until the chocolate has melted then remove pot from heat.
In a small bowl, combine the cornstarch and the remaining 3/4 cup heavy cream. Stir until you get a smooth paste. Stir the cornstarch paste into the chocolate mixture and return the pan to the heat. Cook, stirring constantly, until the mixture begins to thicken, about 1-2 minutes. Remove from heat, and add in the vanilla.
Pour the pudding into individual serving cups. If you do not want a skin to form, place plastic wrap directly onto the surface of the pudding. Refrigerate for at least 2 hours.
Serve the pudding topped with a little sweetened whipped cream and some chocolate shavings for garnish.