Hi H,
As you like to try ...
With your data yesterday I saw two cases, first: there is a gap of no data longer than the lapse you ThingspeakRead (5 or 9 minutes) i.e. No data in the last 5 or 9 minutes or more. Second: the channel is empty.
Both cases TS return [] empty array, nothing to compare ... right?
So the thingSpeakRead must read the last point not a lapse thingSpeakRead(116592, 'fields', [1,2,3,4]) or 'numpoints',1 NOT 'numminutes' that way you have in Taim the last time of a recorded data point. Now find the difference in time between this last time and the time 'right now' (datetime('now')) and see if it is larger than 15 minutes or 2 hours or wathever you want/need and if so send the email.
I will post my version, but right now this is the idea. I hope this helps for now