Maybe this has already been answered and I missed it...
But what is the point of the console needing to check a pre-programmed database of roms? If it's an emulation machine, I don't understand why that would be the case. If it's reading the data directly from the cart and putting it through an emulator, the data is right there so why cross check? If it's dumping the rom from the cart, then emulating it, it just dumped the rom so the data is right there so why cross check?
The cross checking seems like a useless middleman that will only hurt compatibility.