Yea, there's nothing wrong at all. You just weren't reading the results correctly. And the seed doesn't matter on Emerald. It's always the same from the start of the game with a steady frame advancement of 60fps.
I'm glad I could help you figure it out. Anyways, its 3:30 am here, so I'm going to bed. Good luck with your captures!
I don't think it's the ROM. It seems to be advancing correctly because it gave you a pokemon at 7million+ frames. It seems to be a PokeRNG issue becuase your problem is frame calculation. You should be using version 1.01 of the program. I don't know what else to tell you.
I can try to run it through PokeRNG. What are the nature and exact IVs?
Does it give you the same result even if you advance the frame in the game? try this:
1. pause the emulator and save the state
2. unpause and immediately catch deoxys
3. get frame from PokeRNG
4. pause emulator again and reload state
5. advance frame by using ctrl + N
6. unpause and catch deoxys again
7. get frame from PokeRNG again
did the frame that PokeRNG spit out change by the number of ctrl+N advances or did it stay the same?