Cranks, but no spark. Only happens after short stop at store. on 2003 Mazda Protege

Rookie cbe0621eac06868b3efe0d8d1d3611e23c60d3114864ea2ec19a68cfbd3eebab
This has happened several times in the past year, ALWAYS when it was driven just a mile or two and then parked for a few minutes. On prior failures, (5 or 6) it has always resolved itself after sitting for 30-60 minutes. Tonight there was still no spark after sitting 75 minutes (temperature about 35 degrees). It started fine this morning at 24 degrees and a few minutes earlier. The other failures were in much warmer weather. Checked spark on both ignition modules - nothing, so it is something further up the line. Sensor? Relay? It has never failed to start when cold, only under the conditions described above. Check engine light has been on forever. The code is "random cylinder misfire". Mechanic has been unable to resolve that one. Clearing the code works for a week or two before it returns.
(2) Answers
Qualified Local Mazda Shops
Qualified Mazda Shops For This Repair