In `validation.cpp:ConnectBlock()`, duplicate coinbase transactions are accounted for per BIP30. However in `validation.cpp:DisconnectBlock()` there is no such special handling, which causes issues at the two affected blocks when using a high `checklevel=` setting.
Fix `DisconnectBlock()` to account for BIP30 and avoid the related spurious VerifyDB() failures.
See this comment in particular.
Get a PR merged which closes the original issue