To prepare dal: Melt 3 tablespoons butter (or ghee) in a large skillet over medium-low heat. Add onion, garlic and ginger; cook, stirring occasionally, until softened and translucent, about 5 minutes. Add garam masala and cayenne (if using); cook, stirring constantly, until the spices are fragrant and the vegetables are coated, about 1 minute. Stir in tomatoes and bay leaf; increase heat to medium and cook, stirring often, until almost all of the liquid has evaporated and the mixture is thickened, 7 to 8 minutes.
Stir in water, lentils and 1¼ teaspoons salt; bring to a boil over medium-high heat. Reduce heat to maintain a simmer; cook, stirring occasionally, until the lentils are tender, 35 to 40 minutes, adding more water, ½ cup at a time, if needed to reach desired consistency.
Meanwhile prepare lime yogurt: Stir yogurt, lime zest, lime juice and salt in a medium bowl until combined. Cover and refrigerate until ready to use.
Melt the remaining 3 tablespoons butter (or ghee) in a small skillet over medium heat. Add cumin seeds; cook, swirling occasionally, until toasted and fragrant, about 2 minutes. Remove from heat.
When the lentils are thickened and tender, stir in cream and the cumin-butter mixture. Drizzle each bowl with lime yogurt and garnish with cilantro, if desired.