Preheat the oven to 350 degrees. Butter a 9 x 5 x 3-inch loaf pan, dust lightly with flour, shake out excess and set aside.
In a large mixing bowl, combine the oil, eggs, molasses, sugar, ginger, allspice and cinnamon and beat vigorously with a whisk until well-blended.
Sift together the flour, salt, baking soda and baking powder. Add the flour and buttermilk alternately to the molasses mixture, stirring with a wooden spoon after each addition. Sprinkle the walnuts or pecans all over with the flour and then stir into the batter, mixing well.
Pour the batter into the prepared pan, and shake gently to settle the batter. Set the pan in the center of the hot oven on the lower rack. Bake the bread for 10 minutes and then scatter the top of the loaf evenly with the crystallized sugar.
Bake the molasses bread for 45 to 50 minutes or until it is brown and puffy and a knife or toothpick inserted in the center comes out clean but a little moist. Don't overbake the bread and dry it out; it should be moist.
Remove the pan from the oven and cool on a wire rack for 15 minutes. Run a metal spatula around the edge of the bread and turn out the bread onto a rack or board lined with a tea cloth or sheet of wax paper. Then, turn the bread upright and serve warm, if desired.