I just catched an instance where the last block was 20 minutes ago and bfgminer never adjusted the difficulty setting from its '125M' value.
It sounds like this could be the reason it doesn't mine any blocks: if it never knows the difficulty is low, it won't find a block at low difficulty.
From your screenshot:
125M (894.7T)
I'm starting to think difficulty=1 doesn't mean it takes
picoseconds to mine a block:
Minimum difficulty of 1.0 on testnet is equal to difficulty of 0.5 on mainnet.
At difficulty 1, that is around 7 Mhashes per second.
That would explain why ASICs still beat any CPU miner as it would take me about a second, while it takes the ASICs a fraction of a millisecond.