Preheat oven to 350ºF. In a 9" pie plate, combine graham cracker crumbs, sugar, and butter; stir until mixture resembles wet sand. Press into bottom and up sides of pie plate using a flat-bottomed glass or measuring cup. Bake about 10 minutes, until crust is set and smells fragrant. Place on wire rack to cool.
To make filling:
Prepare an ice bath by filling a large bowl with ice and cold water.
Meanwhile, in a medium saucepan off of heat, whisk together sugar, cocoa powder, cornstarch and salt. Very gradually whisk in milk to dissolve cornstarch. Whisk in egg yolks. Cook over medium-high heat, stirring constantly, until the first large bubble forms and sputters. Reduce heat to low and cook, still stirring, cook until pudding is thick, 2-3 minutes more. Remove from heat and pour pudding into a medium bowl (if it has lumps, force it through a fine mesh sieve into the bowl).
Add chocolate and butter to hot pudding, stirring until melted, then stir in vanilla. Place bowl into the prepared ice bath and stir frequently until pudding cools to room temperature, about 10 minutes.
Fill pie crust with half of the pudding. Arrange first half of bananas on top of pudding, then top with remainder of pudding, followed by remaining bananas. Cover pie with plastic wrap, pressing it directly onto the surface to prevent a "pudding skin" from forming in the gaps the bananas aren't covering. Refrigerate at least 2 hours.
Just before serving, beat cream to soft peaks with an electric mixer; beat in sugar and vanilla extract. Pile whipped cream on top of pie. Dust with cocoa powder if desired.