Put the fish in a shallow dish and season with salt and pepper. Add the lime juice and toss; set aside. Put the potatoes in a saucepan, cover with water and season with salt. Bring to a boil; add the corn and cook, covered, until the vegetables are tender, about 8 minutes. Reserve 1 cup of the cooking water, then drain.
Meanwhile, heat the olive oil in a large skillet over medium-high heat. Add all but 1/3 cup of the chopped onion to the skillet along with the thyme and cook until soft, about 2 minutes. Add the garlic, chile powder and half of the cilantro and cook, stirring, 2 minutes. Add the tomatoes and cook, stirring occasionally, until slightly reduced, about 4 minutes. Add the potatoes, corn and reserved cooking water.
Add the fish and lime marinade to the skillet and simmer, spooning the sauce over the fish, until cooked through, about 5 minutes. Season with salt and pepper. Divide the stew among bowls and top with the remaining onion and cilantro. Serve with lime wedges.