I just want to say - thank you so much crabtree for taking the time to figure this out for me!! You are golden.
It turned out my server had some issue with session handling. So just in case this helps someone else in the future:
I had to
set PUT_DATA_IN_URL to false in formmail:
make a new php file called formmail-preconfig.inc.php, which contains just this line:
it goes in the same folder as formmail, and formmail automatically loads it.
Now my error handling works like magic. Thank youuuu!