In a small saucepan set over low heat, melt the butter. Using a heat-proof spatula, stir in the sugar and cocoa until smooth, then add the eggs and cook for about 5 minutes, stirring constantly to keep the bottom from scorching, until glossy and thickened.
In a large mixing bowl, combine the graham crumbs, chocolate crumbs, coconut and walnuts. Add the hot cocoa mixture, and stir to combine. Press evenly into a parchment-lined 9x13-inch pan, and place to the fridge to chill and set up for 15 minutes.
Make the Peanut Butter Filling:
In a small bowl, whisk together the milk and custard powder.
In a medium mixing bowl, cream together the butter and peanut butter. Stir in the custard, then gradually beat in the icing sugar, ¼ cup at a time, until the filling is thick and fluffy and smooth.
Spread the filling onto the prepared crust in an even layer. Chill for 30 minutes, or until firm.
Make the Chocolate Frosting:
In a heatproof bowl set over a small saucepan of boiling water, melt the chocolate and butter together, stirring frequently. Spread out into a thin layer onto the chilled filling. Return to the fridge to chill for at least 30 minutes longer, or until the filling is completely set, before cutting into squares and serving. Store any leftovers in an airtight container in the fridge for up to 1 week.
Notes
I used Peanut Butter & Co's White Chocolate Wonderful to give the filling a little extra oomph, but if you have any trouble finding it, regular smooth peanut butter is just as good.
Recipe by Crumb: A Food Blog at https://www.crumbblog.com/peanut-butter-nanaimo-bars/