Create a custom library which uses Arduino Extended Database Library

  // if the file opened okay, set flag okay
  if (myFile) {
    myFile->close();
  } else {
    // if the file didn't open, tell it
    if(_HardSerial) _HardSerial->printf("[DBabstraction] error opening the db file\n");
  }

What part of that code sets any flag?

  // retry to open the file for reading:
  *myFile = Drv.open(FILE_PATH, FILE_WRITE);

FILE_WRITE is NOT how you open a file for reading.

What if you, temporarily, create the EDB instance in the sketch, and pass it to the DBAbstraction instance? Does that get rid of the multiple instances issue?