If you are using DeSmuME then use save states more often and when some glitch happens(like freezing,character glitch,music glitch,etc.),reload the nearest save state and save in-game(goto Menu click Save,etc.)then click at 'Emulation' at the top and select 'Reset'.And select 'Continue'.And the game is normal again!
And make sure after loading the game use Save State!
Hope it helps.
I don't know about the rest of the emulators.Sorry.
BTW this is general discussion forum.For this kind of stuffs go to Game discussion forum.