The guarded (blue) run is checks for existence of header, txs (block-associated txs) , tx and point entries before inserting them. This is a guard against duplication, but not logically necessary. The unguarded only guards the point entries, as compression of these entries is the whole purpose of the point table. In other words, duplicates are commo/expected here, but nowhere else. Full accounting of objects and bytes shows that the unguarded run has two more txs (346 bytes) than the guarded run. This is expected as a consequence of the two (see BIP30) duplicate coinbase txs.