I used your send.php (with my email address) and inserted this line:
30 * * * * curl -s -O http://www.mydomain.com/send.php
I received an email at 30 minutes after the hour, every hour.
I don’t know what else to tell you mate. Maybe you’re not waiting long enough to witness the response of the cronjob before considering it failed and changing it? If it’s impatience getting in the way, change 30 to */5 for a quicker test result (5 minutes).
Remember to change it back to 30 or */30 later tho.