I can look at your setup but as stated the code is pretty specific as I have posted the emails can ONLY be sent once a day. Thats how often I get them I tested this myself.
Maybe you have a database problem maybe an update is missing. If you use phpmyadmin and view your cp_stats and what number is in the lastupdate field of that table?
You can see my code posted in post for but lets explain that code again. Basically what that code does is make sure an email is only sent once a day no matter how often you run your cron task. 86400 is 24 hours. So what that if clause states is we query the lastupdate field in your stats table which is the last time the cron was ran and calculate the time difference between the last time cron task ran versus the time right now. That is simple math and if the time difference is over 86399 then we send an email. So the only way your going to get an issue I would think is if your lastupdate field in your stats table is not being updated or does not exist meaning you could have missed an upgrade.