Verified that BULDING_SOLAR_PLANT properly requires TERRAIN_DESERT in CIV5Buildings.xml:
<NearbyTerrainRequired>TERRAIN_DESERT</NearbyTerrainRequired>
I don't think it's possible for a tile to have more than one terrain. Terrains are typed by ID, it's not a Boolean attribute of some sort which would allow multiple terrains to be on. And natural wonders are features on top of terrain. I highly doubt that adding a feature would reclassify the underlying terrain. But, no, I can't be "absolutely sure".
That said, it's likely that the terrain the crater feature has spawned on was a desert originally, and that is still true. The tooltip only shows the feature for natural wonders, and calls it terrain, but internally they're not actually a type of terrain. It's still a bug, the test should be: ((if tile.terrain == DESERT) and (tile.feature != natural wonder)).