This issue is caused by running the Coracleanup utility which disables two foreign key constraints in the MDB, and never re-enables them:
ALTER TABLE ca_discovered_software NOCHECK CONSTRAINT [$ca_di_r000002c700000000]
ALTER TABLE ca_discovered_hardware NOCHECK CONSTRAINT [$ca_di_r000002ac00000000]
The first statement disables foreign key constraint ($ca_di_r000002c700000000), which protects the ca_discovered_software table from receiving new records that do not properly match with a registered agent in the database. With the constraint check disabled, the engine is allowed to insert any discovered software data not properly matching with any asset into the database.
The second statement disables foreign key constraint ($ca_di_r000002ac00000000), which protects the ca_discovered_hardware table from receiving new records that do not properly match with a CORA registration in the database. With the constraint check disabled, the engine is allowed to register/insert a new computer record without first ensuring the computer is properly registered with CORA.
To verify if either of these two constraints are disabled in your MDB database, you can run the following SQL query:
select * from sys.foreign_keys where is_disabled=1