So, I posted here and ultimately decided the mechanic was lying to me. It turns out I was wrong.
The immediate overheating issue WAS due to the broken fan, but they uncovered a legitimate, tiny head gasket leak.
I've got coolant gases in my exhaust and a slight amount of wet exhaust from coolant getting in there. There is no current overheating problem, just a bit of coolant loss.
I have an independent mechanic who has done good work for me before who told me that my options were either to seal it up (he recommended K Seal), or to replace my head gasket. He said he'd charge about $600 labor (he works at about $25/hr out of his own garage).
Are there massive negatives with any type of head gasket sealer? The car is older, but I am going to keep it for many years, repairing it as I go (it's a sports car I intend to keep in running condition).
If I'm severely putting my car at risk, I'll just pay him. The only reason I'm considering this fix is the leak seems very, very small.