Place the beans in a large bowl and cover generously with cold water. Cover the bowl with a plate and leave to soak for at least 8 hours or overnight. Drain the beans.
In a large flameproof casserole dish or heavy saucepan, heat the oil over moderate heat. Add the onions, carrots and chilli powder and sauté, stirring, for about 5 minutes or until the vegetables are slightly softened.
Stir in the stock and cold water and bring to the boil. Add the beans. Bring back to the boil and boil for 10 minutes.
Partly cover the pan and simmer, stirring occasionally, for 1–1 1/2 hours or until the beans are tender when tested with a fork and most of the liquid has been absorbed.
If there is a lot of liquid, remove the lid, raise the heat slightly and boil, stirring occasionally, for 5–10 minutes.
Remove from the heat and stir in the Tabasco sauce and pepper. Serve hot.