Taking sensor readings every 10 seconds will never be an appropriate use of interrupts. Save yourself a great deal of headache. Use the correct tool. In this case, blink-without-delay is the correct tool.
Thanks, I see what you mean now. Unfortunately due to some convoluted code I am using; through phi prompt; I have my main code before running inside a while loop in the menu system. The whole loop was taking approx 4 secs to run and originally I wanted samples every 1 seconds.
This is why I took it outside to a timer interrupt. This worked but I then discovered that 1 sec was far too frequent as I was running a PID calculation and the Integral Term was becoming enormous in the slow response of the temperature system it was controlling.
I considered moving back to code when I moved back to 10 second readings using mills() again but my concern was that if the loop is 4 seconds then the comparison would be true after 3 loops the first time then 2 on the second time through causing inconsistency?