Whisk the granulated sugar, cornstarch and salt in a saucepan, then gradually whisk in the milk until smooth.
Cook over medium heat, whisking constantly, until the custard bubbles thickly, 7 to 9 minutes.
Whisk the yolks in a bowl, slowly whisk in 1 cup hot custard, then return the mixture to the saucepan.
Cook for 1 minute without boiling hard, remove from the heat and stir in the butter and vanilla.
Layer one-third of the wafers, bananas and warm custard in a 2 1/2-quart dish, then repeat twice, ending with custard.
Press plastic wrap directly on the surface and refrigerate until cold and set, at least 4 hours.
Whip the cream with the powdered sugar to soft peaks and spread it over the pudding just before serving.