Here is one HUGE, guaranteed cause of random NAT reflection failures:
Add RTP NAT forwarding for Jabber while the System Default is set to use reflection. That will do it.
(For those not familiar, RTP uses UDP ports in a vast range e.g., 10000-20000 – far too many for pfSense to manage reflection)
Perhaps it's a bad idea to have system-wide reflection? I'm not a novice (I'd like to think). I know that reflection can't be used for more than around 500 ports, and still I made this mistake. I may be an idiot, but I'm not new at it.
I just fixed my random reflection failure by disabling reflection for my RTP forwards.