1) It varies from mail server to mail server, but on one particular server I work with, this is the only way to change the Return-Path header. If the Return-Path header doesn't match the From header, then mail is often rejected. If I don't use the -f flag, then mail comes from apache@mydomain.mydomain.com.
I didn't set php and the mail server up this way, I'm just trying to deal with it.
2) I have searched once. will search again. I also plan to read phplist code. I don't really understand pcntl_fork() but was hoping that might do it?