Just wondering what needs to go wrong for mail() to return false? Does it depend on an error code returned by the MTA?
Perhaps more importantly if a false is returned, is there any point in calling mail again for a new item? No doubt if the path to sendmail is wrong then this will bounce an error that should be considered fatal.
The php manual says that true comes back if sucessfully submitted, so presumably knows nothing about whether it was delivered or not, or whether the arguments to mail were acceptable or not.