If you didn’t know already Magento uses a CRON job to send out new order, and order emails. Why is this? We have no idea, and honestly it’s the dumbest thing we have seen so far. It does however send out all other email as one would expect. Like most other scripts do. I think everyone can agree on this, that the Magento Development team should ditch this asap.
Our issue here is that Magento returns a 404 while running the cron file however, you can run the cron job from a web browser to send out these transactional emails via www.yoursite.com/cron.php
If all goes as planned it should return a blank white page. However, if yours returns the default 404 page not found page here might be the answer to your problems, as is was ours.
The problem was the /cron.php and /cron.sh file permissions was set at 0666 or rw-rw-r (read write, read write, read)
Magento’s standard file permissions is 0644 or rw-r-r and folder permissions of 0755 or rwxr-xr-x
Once we re-ran our /magento-cleanup.php file in the web browser, everything once again went back to normal.