Ok, So me and my friend were working to try and stop the freezes caused every 26 actions in Pokémon HeartGold.
After testing, we believe we have found a possible fix that works for DeSmuME 0.9.5. Method:
1)Download the .exe here: http://www.mediafire.com/?igzxmrjdmda
2)Open your Heartgold ROM in DeSmuME
3)Run the Downloaded .exe file
4)You should see this pop up on your screen:
5)With the game running, press F1 on the above screen.
6)The sound should stop, this is OK!
7)Press F1 again, the sound should come back on.
8)Continue playing, you shouldn't get any freezes after "X" actons.
(Every time you play the rom steps 3-8 should be done!)
Please post saying if it works for you! Also we would appreciate it if anyone could test this on other emulators too. If this is a success we will start work on a Soulsilver fix.