Boil the beans in 2 qt [2 lt] of water over high heat for 15 minutes (counting from when it breaks a boils). Remove the beans from the heat and get rid of the water. This will help eliminate or reduce the "gas problem" when eating beans.
Boil again in 1 ½ qt [1 ½ lt] of water over medium-low heat until the beans are tender, but the skin is not broken (25-35 minutes). Add water as it becomes necessary to maintain the same level of liquid.
Separate beans and the liquid in which they boiled. Set aside both.
Peel the longaniza, breaking down any lumps. Heat the oil in a heavy pot over medium heat. Add the longaniza and brown.
Add the onion and cook and stir until the onion turns translucent. Add the strained beans and the garlic. Cook and stir until it's all heated through.
Mix in tomatoes, cubanelle pepper and the liquid in which the beans boiled in a 4 qt [4 lt] pot.
Simmer over low heat for 30 minutes, adding water as it becomes necessary to maintain the same level of liquid.
Add the habanero and cilantro and mix. Season with salt and pepper to taste and remove from the heat.
Chop the avocado and use to garnish the soup when it's time to serve.
Notes
How spicy is this soup? Here's the problem, everyone has a different comfort level, for me this was it, I'd call it medium, others may find it mild, or crazy-spicy. Why don't you add a quarter of the pepper and taste throughout to find your comfort level?