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?
I assume you're trying to abuse on FR/LG. PokéRNG was designed for Emerald, which has an initial seed of 0. FR/LG can have various initial seeds; the one which is used is determined at the title screen. You must have got one which after several hours coincidentally looped back to Emerald's starting seed.
The guide tells you to check the frame as soon as you continue the game, after you make a save state. If the frame at that point is close to the one you're aiming for, load the save state and wait out the difference; otherwise, reset and make a new save state.
Using RSEdecode Youtube Tutorial Link
RSEdecode is to check the IV and the PID of the pokemon, which is important.
1) Put the desired PKM to check for its IV in the 2nd Slot
2) Create a folder in C drive and call it rsedecode
3) Click Tool --> Memory Viewer, Click 32 Bit and Click Go on top right
4) Click save, you will see a pop-up
5) For Address, it is different depending on the game:
Emerald - 2024550
Ruby/Sapphire - 30043C4 Fire Red/Leaf Green - 20242E8
Size: 64, then click Save in rsedecode
6) Save as monster.dmp in C:/rsedecode
7) Press Start --> Run --> CMD, type cd \rsedecode, follow by typing "rse".
This will give you the IV of the pokemon, now plug the data into PokeRNG
1. Create a save state right in front of the legend
2. Battle and capture it
3. Use RSEDecode + PokeRNG to determine your frame
4. Reload the save state before you vsed the legendary
5. Continue idling, and repeat when necessary. I don't know why he recommends .sav, unless you overshoot the mark and have to start again.
EDIT: Oh I remember now. You need to create a .sav to work out the PID of the Pokemon