Spartan3 family has two operating temperature options, "commercial" and "industrial". This usually means 0/+70 °C and -40/+85 °C, but in Xilinx case the ranges are actually 0/+85 °C and -40/+100 °C.
Do you have any idea on how these different ranges were actually decided? It is mainly a curiosity that I have, but it could be useful too to know; I've tested a lot of 0/+70 parts with very low temperatures, and it's quite uncommon that they can't work flawlessly at least at -20 °C (frequently they are still fine at -60). Therefore I could speculate that S3 production cycle was too good, too many parts passed the -40/+85 °C test so they were deliberately "demoted" to 0/+85 °C for commercial reasons.
Of course Xilinx won't never confirm this, but knowing the "official" version could give some hints. ;)