Oh, hm...guess it might be the only option, then.
As for the Zigzagoon encounter, I use that to verify my SID (and not the frame). If the Zigzagoon is shiny, that means I got the desired SID. I'm only using the .lua script from
this thread. (last page, posted by Hozu himself)
EDIT: According to my own research through TAS, when I hold A at frames 42303-40307, after around 80 frames, frame jumps to 42425 and then another 4 frames to 42429. If frame 42429 (after the 4-frame increase) in that same run determines SID, then I know why. If not, then I'm still trying to figure things out.
EDIT 2: I use Researcher (16BitHigh, *1 in Custom1) to find the suitable SID. Retrieved the Column1 and pasted into Microsoft Excel and searched from there. But what I said above may be the issue.