Both the ignition coil and the ignition amplifier can go intermittent , and be temperature sensitive. No easy way to tell which might your problem, the end result is the same - no sparks.
Has your Disco got the dreaded immobilser 'spider'? These can cause low voltage at the coil positive side. You can check for that with a meter - with ignition on and stopped, you should see battery voltage; with engine running 13.5 to 14V. If you see readings like 9 to 11V sometimes, the spider will be nacked - its got burnt internal relay points. Sometimes they close nicely and give good volts to the coil, sometimes they don't and give low volts.
cheers, Ross K