A work around would be to have the first address in the list be one you don't mind showing up in the headers.
As for what is causing this problem... I'm sorry but I don't know.
I usually do something like:
in reply to Mail::Send and Bcc revealed
EDIT: you could use a foreach loop to add enough Bcc: addresses.
open(MAIL, "|/usr/lib/sendmail -oi -t") || die "Can't open sendmail: $
print MAIL <<MESSAGE;
Bcc: $bcc1, $bcc2
This is an automagically generated message, please do NOT reply to it.
print MAIL "More text goes here";