With a sharp knife, cut kernels from 8 ears corn (you should have about 6 cups); transfer half to a bowl. Chop the other half into pulpy bits on a cutting board or blend them in a food processor until half-pureed. Add to bowl. Firmly scrape any pulp remaining on cobs with back of knife into bowl with corn.
In a large (5 quarts is ideal) heavy pot, heat olive oil and butter over medium. Add onion and cook until tender and beginning to brown at the edges, about 6 to 8 minutes. Add garlic, jalapeño and chili powder and cook together for 2 minutes more.
Add flour and stir into onion-garlic mixture until it disappears. Stirring constantly, gradually add stock. Add beans, corn, and 1 cup milk and bring to a simmer. Simmer, stirring occasionally, for 10 to 13 minutes, until corn is tender.
Add salt and freshly ground black pepper or cayenne to taste. Add cream to taste and cook for 3 minutes more.
Combine mayonnaise, sour cream or crema, cheese, and juice of half a lime in a bowl; stir to combine.
Ladle soup into bowls and dollop in center with 1 tablespoon (or more to taste) of mayo-cheese mixture. Squeeze lime juice over to taste, sprinkle with chili powder and chopped cilantro and serve, baked tortilla chips on the side if you wish.
