i know that there are ROM fixes out there to prevent this problem being activated for DSME, but consider the fact that other emulators do not have the problem so technically this is a bug!
you find out within 5mins or so of playing the game that the pokemon do not gain experience. I personally suspect the fact that this emulator does not keep constant pace - the game speed might be compared with the system clock. but ask the people who cracked it what really triggers it. if my suspicion is right, then count a slower/faster clock when the emulator is running off pace. I hope for an efficient count clock (or whatever it happens to be) code!