Put beans in a 6- to 8-qt. pot and add enough water to cover by 2 inches. (The pot should be large enough to allow plenty of air space over the beans and water, so steam can circulate). Bring to a boil, covered, over high heat.
Boil beans, uncovered, 10 minutes. Reduce heat to a simmer, add garlic, onion, chiles, and fresh or dried xoconostle, and cook, lid barely ajar, until beans are tender (from 30 minutes to 2 hours, depending on the age of the beans; keep beans covered by about 2 inches of water during cooking, adding hot water when necessary). Add cilantro and salt and simmer 15 minutes more.
*Find thin-skinned rio zape or san franciscano beans at ranchogordo.com, along with dried sour prickly pear. Find the fresh prickly pears every now and then at farmers' markets specializing in Latino produce.