You’re going to have to work with me if you really want to fix this… :) Your assumption that one MAME binary uses the same ROMs as a different MAME binary is faulty.
I know mame4all uses 0.37b5 ROMs. I was under the impressions the libretro mame core uses the same set, but I haven’t tested that myself.
This part you already seem to know: RetroPie comes with 3 versions of MAME.
/opt/retropie/emulators/advmame/bin/advmame is used if you put your ROMs in
/opt/retropie/emulators/mame4all/mame is used if you put your ROMs in
/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/mamelibretro/libretro.so is used if you put your ROMs in
Are you putting your ROMs in the correct folder?
Try launching the different versions from the command line so you can see the errors without EmulationStation hiding them from you.
/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/mamelibretro/libretro.so --config /opt/retropie/configs/all/retroarch.cfg --appendconfig /opt/retropie/configs/mame/retroarch.cfg /home/pi/RetroPie/roms/mame-libretro/dkong.zip
create a new directory
copy your rom(s) there (only necessary for launching from the command line)
with mame4all you can also verify the your ROMs with the command
/opt/retropie/emulators/mame4all/mame -verifysets dkong