Place a large pot of water on to boil. You will also need to lightly grease a 2 pound pudding bowl.
Combine the dry ingredients (flour, baking powder, cinnamon and salt) together in a bowl.
Beat the sugar with one tablespoon of the butter; add the melted chocolate and stir to blend.
Add the dry ingredients and milk alternately to the chocolate mixture, mixing well each time. Then stir in the sliced dates,orange rind, vanilla and walnuts (optional).
Pour into a greased pudding bowl; place in the pot of boiling water making sure that the steam from the water comes up the sides but the bowl isn't sitting on the bottom of the pot - you can set it on a round cake tin if you have one. Steam for 1 hour, topping up the water if necessary.
About 15 minutes before you are ready to serve - make the toffee sauce by combining 450ml of boiling water with 220g brown sugar and 2 tablespoons butter. Stir well until the sugar and butter have dissolved.
Turn the pudding out onto a serving plate and pour over the warm toffee sauce. Serve with cream or ice cream.