If Oblivion.esm isn't checked in the load order in Launcher->Data Files (which appears to be the default setting for certain versions of the game) it will still be loaded, however it will cause ModTable::Get().GetModIndex to return a wrong index for all masters and plugins (shifted by one), as Oblivion.esm will not be an entry in the list of active mods.
Oblivion.esm will no longer be the 1st (0th) mod in the array returned by DataHandler::GetActiveModList() (even though the master file is still very much active), causing all mod indices to be shifted by one in the returned array, which in turns causes problems when a plugin needs to determine the correct index.
I tested it on vanilla Oblivion (Steam and GOG) with just OBSE and it persists.
If Oblivion.esm isn't checked in the load order in Launcher->Data Files (which appears to be the default setting for certain versions of the game) it will still be loaded, however it will cause ModTable::Get().GetModIndex to return a wrong index for all masters and plugins (shifted by one), as Oblivion.esm will not be an entry in the list of active mods.