I dont know if I can help fix it without reproducing the problem – and I would need the controller for that.
the above doesn’t seem to make much sense as restarting emulationstation is the same as quitting it and reloading. I still suspect its a timing thing.
you could editing /usr/bin/emulationstation (sudo nano /usr/bin/emulationstation) and add “sleep 10” around the second line and see if that helps ?