I'm not exactly sure why, probably something to do with cache expiration, but using exim 4.31, recipient callouts no longer appear to work.
I get the following errors using -d+verify
22577 locking /var/spool/exim/db/callout.lockfile
22577 locked /var/spool/exim/db/callout.lockfile
22577 opened hints database /var/spool/exim/db/callout: flags=2
22577 dbfn_read: key=gatewaysales.com
22577 callout cache: found domain record
22577 callout cache: domain gave initial rejection, or does not accept HELO or MAIL FROM:<>
Except that when I telnet to the exact host that exim is trying and type in a helo string and mail from, it works just fine and dandy. Also, this particular verify line has worked for months with 4.30 and hasn't been modified.
I'm sure that the default 24h positive expiration nabbed me when I upgraded from 4.30 to 4.31, but I don't know why it's suddenly a negative test instead of a positive test. I feel like this has come up recently on the list, but I was unable to find it.