Rinse the dry beans well and place in a large bowl. Cover with water 2 inches or so above the beans. Allow to soak for 8 hours or overnight.
Add the ham bone to a large slow cooker. Drain and rinse the beans before adding them also.
Add water to the slow cooker until the ham bone is just covered.
Add the bay leaves, minced garlic, onion powder, and liquid smoke. Cover and cook for 5 hours on low.
Remove the bay leaves and the ham bone. Shred any large chunks of ham.
Depending on how thin you want the broth leave, or discard a cup or two of liquid from the slow cooker before adding the other seasonings.
Stir in the season salt, garlic powder, black pepper, ketchup, and BBQ sauce.
Once everything is well combined serve over hot rice and top with sautéed onions, cilantro, and or sour cream.
This recipe is very easy to adapt to your taste and to cut in half or double if feeding a large group.