Put the cabbage in a large bowl. Finely grate the rind from 1 orange and squeeze the juice. Stir the rind and juice into the cabbage with the onion, garlic, sugar, vinegar, salt and pepper and the bay leaf. Cover and leave to stand overnight.
Melt the treacle and butter in a large, heavy-based, stainless-steel or enamel saucepan. Stir in the cabbage mixture and slowly bring to the boil, stirring occasionally. Reduce the heat, cover and simmer, stirring every 30 minutes, for 2 hours, or until the juices have almost evaporated and the cabbage is tender. Remove and discard the bay leaf.
Thinly pare the rind from the remaining orange and cut it into very fine shreds. Stir half the shreds into the cabbage, then spoon it into a serving dish and sprinkle with the remaining shreds. Serve with sausages or grilled meats and mashed potatoes.