Cut the chicken into strips and add to a medium saucepan. Add just enough water to cover the chicken and bring to a simmer over medium-low heat. Poach until just cooked through, about 15 minutes.
Remove from the pot and set aside to cool. Once completely cooled, shred the chicken and add to a large mixing bowl with the chili powder and Serrano.
Heat a grill pan over medium-high heat. Add the corn and cook until tender and charred in spots, rotating occasionally, about 6 to 8 minutes. Remove to a cutting board and cut the kernels off the cob. Add to the mixing bowl with the chicken mixture.
Heat a large sauté pan over medium-high heat, add the olive oil and heat through. Add the butter and allow to melt. Add the mushrooms and stir to coat in the oil. Cook for minute then add the garlic and season with salt. Continue to cook until the mushrooms are golden brown, about 2 minutes.
Add to the chicken mixture and stir to combine with the queso fresco and sour cream.
Heat a heavy bottomed pot with enough oil to reach 2-inches up the side of the pot to 350ºF (180ºC).
Spread two tablespoons of the chicken mixture down the middle of one of the tortillas. Roll the tortilla up and secure with two toothpicks to seal the flauta. Set aside and repeat with the remaining tortillas and mixture.
Working in batches, add the flautas to the oil a few at a time and fry until golden brown all over, turning once, about 5 minutes total. Remove from the oil and drain on a peper towel-lined plate.
For the chipotle crema:
In a small bowl whisk together the sour cream, lime juice, chili powder, paprika and cayenne. If needed, thin the sauce with a teaspoon of water. Set aside.
For serving:
Arrange the flautas on a platter and top with a scoop of guacamole, tomato, a drizzle of the chipotle crema and cilantro. Serve immediately.