For marmalade ice-cream, combine cream, milk and orange rind in a saucepan, bring just to the simmer over medium heat, remove from heat, stand for 20 minutes to infuse, then bring back to the simmer. Meanwhile, whisk yolks, sugar and orange juice in a heatproof bowl until pale (4-5 minutes). Pour over cream mixture, whisk to combine, return to pan and stir continuously until mixture coats the back of a wooden spoon thickly (4-5 minutes). Strain into a bowl (discard solids), stir in marmalade and Grand Marnier until combined, cool completely, then freeze in an ice-cream machine according to manufacturer’s instructions. Makes about 1 litre.
For Grand Marnier ganache, bring cream and Grand Marnier to the boil in a small saucepan, remove from heat, add chocolate and stand for 1 minute, then stir until smooth. Stir in candied orange peel and refrigerate until firm (2-3 hours). Roll heaped teaspoons of mixture into 6 balls, refrigerate until required.
Melt chocolate, butter, Grand Marnier and orange rind in a heatproof bowl placed over a saucepan of simmering water, stir until smooth (4-5 minutes), remove from heat. Whisk eggs and sugar in a heatproof bowl over a saucepan of simmering water until very thick and pale (7-8 minutes). Remove from heat, fold in chocolate mixture, sift over flour and cocoa, fold to combine. Refrigerate until firm (3-4 hours).
Preheat oven to 180C. Half-fill 6 buttered and floured 150ml-capacity metal dariole moulds with pudding mixture, pressing mixture firmly into mould and making a small indentation in the centre with a teaspoon. Place a ball of ganache in the centre, top up with more pudding mixture to 1cm below rim, smoothing top. Bake until risen and just firm to the touch (12-15 minutes), stand for 5 minutes, turn onto serving plates and serve immediately with marmalade ice-cream and candied orange peel, if using.