The Spartan-3E Data Sheet recommends driving PROG_B with an open-drain/collector. This was not mentioned in the Spartan-3 Data Sheet.
Why does Xilinx recommend driving PROG_B with an open-drain/collector output in Spartan-3/-3E?
It is recommended that you use an open-drain/collector with a 4.7k pull-up resistor to drive PROG_B because it allows you to control PROG_B with multiple sources (i.e., Micro processor, and push button). For 3.3V configuration, pull the open-drain to 2.5V to keep the internal Power diode from turning on.
This could be applied to Spartan-3 or other FPGAs as well. The motivation for adding this note to the Spartan-3E Data Sheet is to just add extra guidance from an applications perspective.