For the filtering mail problem, I don't understand why the destination
mail server sends the mail back, unless it is rejected for a reason. I
am using a similar setup with no problem.
I can suggest a setup that I have tried, a mail server that supports
filtering, like postfix mail server with amavisd-new for spam and
antivirus filtering. This works on Linux and any xxxBSD version.