All data that is exposed by libbitcoin is valid and consistent. Txs and blocks are stored if they are valid, confirmed or otherwise. Txs and blocks are considered are confirmed if they are in the strong chain. Otherwise they are unconfirmed txs or weak blocks. Payments are an index of the strong chain. There isn't any inconsistency in the data.