This happened to me once. I cleared unconfirmed and rebuilt database and the transaction appeared. The behavior is what you described: Connected with current block height but 0 confirmations on an incoming transaction that was old and already deep in the blockchain.