In a large bowl, combine the beans with cold water to cover them by at least three inches. Soak overnight. Drain the beans and transfer them to a large, heavy pot. Add fresh cold water to cover by at least three inches, set over medium heat, and bring to a boil. Lower the heat and simmer, uncovered, stirring once or twice, for 25 minutes. Stir in 2 teaspoons of the salt and continue to cook gently until the beans are just tender, 15 to 25 minutes longer. Drain and transfer to a bowl.
In a large skillet over medium heat combine the ham and 3 tablespoons of the corn oil.
Cook, tossing and stirring often, until the ham is crisp and brown, 6 to 8 minutes. With a slotted spoon, transfer the ham to the bowl with the beans. do not clean the pan.
Set the skillet over hight heat and stir in the maple syrup, cider vinegar and the remaining corn oil. Bring to a boil, stirring and scraping to dissolve any browned bits from the bottom of the skillet. Stir in the thyme, boil 1 minutes and pour the hot dressing over the ham and beans. Add the carrots and stir. Season with the remaining salt and a generous grind of black pepper and stir again. Cool to room temperature, cover and refrigerate for several hours or overnight.
Bring the salad to return to room temperature. Adjust the seasoning. Serve on lettuce leaves and top with red onion.