Adesto DataFlash (AT45DB641E) reads zeros after exercising flash for several minutes
I presume your test unit uses a different physical chip. There is a huge variability of erase times possible from chip-to-chip and with supply voltage, and different ways of writing/erasing. I also presume you're not writing a file system, because that has a different set of challenges. 

But the simplest thing.. are you checking the busy flag before reading the sentinel location? If the chip is in the middle of a page erase it could go off the radar for many (like 35) milliseconds.