In 14.5 and earlier versions of the tools the RUNTEST used for the Erase function on the Spartan-3AN XC3S50AN FPGA used the typical value as opposed to the maximum value required.
If running an Erase on an SPI device, the SVF files will need to wait for the maximum required time to erase a sector of the flash. This is because the SVF algorithm does not implement any looping function.
To work around this issue, increase all of the Erase RUNTEST statements from 12000 to 35000. This ONLY applies to the Spartan-3AN XC3S50AN device. All other Spartan-3AN devices appear to have the correct wait time associated with the Erase function.
This issue is scheduled to be resolved in ISE Design Suite 14.6.