Here are things that I have tried so far.
Copy everything off the SD Card and formatted with FAT 32 Formatter.
Copy to the SD Card using xxcopy.
Started with an empty SAVER folder so a new file is created.
Checked that I was using Kernel 1.09 and Firmware 9.0
Did not use save states.
I used these codes to reach an ending quickly.
I converted these as described in another topic.
[Set_HP]
199=41536,C7,00
[Set_Missiles]
5=41538,5
This is provided in the cheat library.
[Ultra accelerating condition]
ON=41353,FF;413DC,FF
Turned cheats off before using save stations.
Normal difficulty, low percentage run.
Game froze.
Installed Simple 3.6 and tried again.
Game froze.
Copied to computer and used mGBA.
Did not freeze.
Started throwing GameShark codes at mGBA trying to make it freeze.
Still didn't freeze.
It appears the ROM, save, and codes are all okay.
It's the Omega's implementation of them that's encountering a problem.
When the game freezes there is a still image of the ship and the sound is stuck, It's just after the escape vessel has left the screen and just before the the screen flash for the explosion. After that is suppose to be a view of the crater, then space, then the credits, then the temple. So there's a minute of other animations before the specific ending will be shown.
The save file shows the Metroid insignia and the ending that should have been shown is added to the gallery.