I now have to recommend against relying on silentPosts to determine if a transaction occurred. Instead you should query for transactions using the transaction details API http://developer.authorize.net/api/transaction_details/
We use silent posts to track when ARB transaction succeed or fail. On a certain day we did not receive silent posts from Auth.net even though transactions occurred. I have checked our logs, the server was up and responsive at the time when the transactions were processed. When I contacted Auth.net for more information they could provide nothing except “we don’t see any error messages/codes”.
I learned two things from the supervisor I talked to:
1) Auth.net does not check response codes for their silentPosts
2) Auth.net does not log anything for silentPosts except some error codes.
This means that silentPost is not reliable (and hence, should not be used).