To make the custard, mix together the sugar, flour, and salt in a medium, heavy-bottomed saucepan. Gradually pour in the hot milk, beating with a whisk until completely smooth.
Heat the mixture gently, whisking constantly, until it begins to thicken, which should take about 4 to 6 minutes.
Whisk a small amount of the hot milk mixture into the beaten egg yolks to temper them, then pour the yolk mixture back into the saucepan.
Continue stirring over low heat for a few more minutes, until the custard is very thick and glossy.
Remove from the heat and stir in the Marsala or brandy and the vanilla. Allow the custard to cool completely, stirring occasionally to prevent a skin from forming.
Cut the sponge cake into ¾-inch / 2cm thick strips.
Arrange a single layer of strips in the bottom of a large, ovenproof serving dish (a trifle bowl or deep glass dish works well).
Sprinkle the cake with half of the rum (½ cup / 120ml / 4.1 fl oz).
Spread the marmalade evenly over the cake, then carefully spread about two-thirds of the cooled custard on top.
Arrange the remaining cake strips in an even layer over the custard.
Sprinkle with the rest of the rum.
Spread the remaining custard evenly over this second layer of cake.
Cover and chill the Zuppa Inglese for at least one hour.
When ready to serve, preheat your oven to 325°F / 160°C. To make the meringue, beat the egg whites with a pinch of salt and a pinch of cream of tartar in a clean, dry bowl until they hold stiff, glossy peaks. Gradually beat in the sugar until the meringue is thick and shiny.
Cover the chilled Zuppa Inglese with the meringue, using a spoon or spatula to create attractive swirls and peaks.
Bake for 10 to 12 minutes, or until the peaks of the meringue are a beautiful golden brown.
Chill for another hour or two before serving to allow it to set.