For some reason, the GitHub repository for the BMM150 Sensor API has Issues disabled and directed me here.
As of the latest release of the API (v2.0.0), the BMM150_E_DEV_NOT_FOUND error is still defined, but it is no longer returned by the API under any circumstances. I think this may have been a mistake: in the previous version of the API (v1.0.3), the bmm150_init function verified the chip ID immediately after setting the power control bit, returning this error code if the received chip ID was incorrect. The current version no longer performs this check. My best guess is that it was accidentally removed while (correctly) moving the preceeding delay inside the if statement.
Curiously, the Arduino_BMI270_BMM150 library for the Arduino Nano 33 BLE Sense Rev2 uses some amalgamation of the two versions, which suggests to me that either intermediate versions of the API have been removed from GitHub, or the version used by Arduino is the result of a special correspondence with Bosch engineers.