when a coin switch happened, or when a new block was found, and we sent new work to the miner, the miner would be forced to do a pipeline flush (read "stop working" for a very short bit). During that time, these jacked up miners would submit the shares they hadn't submitted yet. We would accept them because they were coming in just after a switch, and we were being forgiving. However, in most cases (block changes are far more often than coin switches), these shares had a 0% profitability (they were stale).
I am new to mining, ....
Doesn't "difficulty" also have the same effect? Didn't you set the minimum difficulty to 512?
On faster coins, these block changes are every few seconds, and that delay makes a huge difference in profitability.
So, let's say that with a difficulty of 512, I am submitting shares every 4 seconds. Wouldn't that make most of my shares stale?
it takes to find a share (essentially). When those shares come in is completely random. If you randomly find them all between block switches, you'd have 100% accepted rate (regardless of difficulty). If you randomly find them all during block switches, you'll have a 0% accepted rate. Has nothing to do with difficulty.