Hello @jrassa
I think I've found whats missing,
int the 2015 version of emulationstation from Aloshi where the slashes where fixed (unstable branch), you can see that he uses an extra function called make_preferred() on the ROM_RAW string
https://github.com/Aloshi/EmulationStation/blob/unstable/es-app/src/SystemData.cpp
const std::string rom_raw = fs::path(game.getPath()).make_preferred().string();
He also uses this funcion on a windows ifdef on the same file
#ifdef WIN32
// windows escapes stuff by just putting everything in quotes
return '"' + fs::path(path).make_preferred().string() + '"';
#else
The function make_preferred() from Boost is the one that fixes the slashes
https://theboostcpplibraries.com/boost.filesystem-paths
Thanks in advance
Best regards