First of all, I know this question (or close variations) have been asked a thousand times. I really spent a few hours looking in the obvious and the
Managed to solve the problem. Apparently what was keeping it from returning was that calling the sender that way didn't disconnect the stdout. So, the solution was simply changing the system call to:
system("php sender.php > /dev/null &");
Thanks everybody for the help. In fact, it was while reading the whole story about "daemonizing" a process that I got the idea to disconnect the stdout.