@Nash

I don't know what could be wrong with your setup. I have multi-disk games with extensions .bin, .cue, .chd, .dsk, and .rvz, and disk swapping is working correctly in RetroArch. I have created .m3u files for all of them.

Example of a PSX game:

Chrono Cross (Disc 1).bin .Chrono Cross (Disc 1).cue Chrono Cross (Disc 2).bin .Chrono Cross (Disc 2).cue

.m3u file:

.Chrono Cross (Disc 1).cue .Chrono Cross (Disc 2).cue

And sleve_mcdichael suggestion is a very good solution that I didn't know