setReconPlot(NULL);
in void CvUnit::doTurn()
The hard part will be tracking down a way to make all air units lose their recon location when you give them another mission.
Hmm.
CvSelectionGroup::startMission(). If the group is given any mission other than recon, do a setReconPlot(NULL)?
This still leaves open the exploit of reconing location A, then B, then A, then B -- as each recon lasts into your next turn.
The "recon" visibility scan could also automatically drain a move from the unit doing the recon (sort of a hack, because a save/load on a multi-move air unit could drain more moves...)
Really, there needs to be an "airwatch" and a "recon" command. Airwatch doesn't reset every turn (and drains your move next turn as well!), while recon does reset every turn? The AI is perfectly capable of using recon each turn -- so the Airwatch option could be player-only (no need to teach the AI about it).