Place meat in a dish; mix the garlic, paprika, chipotle powder and salt together in a rough paste and spread it over both sides. Cover with plastic wrap and marinate overnight. Place the beans in a large bowl filled with tepid water; soak overnight. The tough outer skins will loosen and should be peeled off.
In 3-quart saucepan, place the beans in tepid water to cover and bring to a boil. Drain and discard the water. Cover by about 2" with fresh tepid water. Bring to a boil again; lower heat and simmer, covered, with the lid slightly ajar, for 30 minutes. Drain the beans and set aside.
In 5-quart heavy casserole, heat the olive oil. Sear the meat on both sides, until very brown, over medium heat. Remove the meat and set aside. Add the onions to the same casserole and sauté over medium low heat for 5 to 8 minutes, stirring frequently, scraping up any brown bits.
Tie the thyme, rosemary and bay leaf together; add to the casserole along with tomatoes. Bring to boil, then lower the heat and return the meat to pot. Cover and simmer for 1½ hours. Remove the meat to a platter. Stir partially cooked beans into the sauce, and then return the meat to the top. Cover and place the casserole in the oven and bake for 1 hour.
To serve, remove meat and let it set for 10 minutes, covered loosely with aluminum foil. Slice into ½-inch-thick slices and arrange in the center of a shallow ovenproof dish. Spoon the beans and sauce around the meat. Some of the beans will have disintegrated to thicken the sauce, while others will have remained whole. Keep warm in a low oven until serving time, or cool, cover and refrigerate for a day or two. Reheat in a preheated 350° oven, adding some additional water if the beans have absorbed the sauce. Serves 8.