Right this needs to be pointed out for future reference on what not to do.
The TAS uses 2 GBA bioses at once.
The correct "World" bios and the "Debug" bios.
In order for this to sync you must have both in the Firmware folder, and it automatically selecting the "World" bios.
With "World" alone you desync at around 275k frames in.
With "Debug" alone you desync at the very beginning at the game.
With both however, you're able to get from Halfway and Absolutely Nowhere to a Complete TAS.
From my guess the bios switches around 275k in to the Debug Bios and completes the rest of the game from there.
Also one of the factors you wrote which was "Bios Skip: False" is actually set to true.
This is a factor that doesn't matter since you're TASing on the mGBA core which ignores this field outright.
Now we've had one TAS that actually
just used the Debug cause it was the first time TASing GBAHawk but this one uses both and again as a first time to GBAHawk.
Now we've had Arcade TASes predominately requiring backwards ass methods to sync compared to "just 2 GBA bioses are needed".
So, do we have a problem on our hands with how either hardware changes or are we fine with crossing two different Bioses which the only known difference is the bootup sound being different?
Something else to bring up the Header.
The header file brings up this for the Bios being used:
sha1:AA98A2AD32B86106340665D1222D7D973A1361C7
Now this is the Debug version, but remember Debug on its own can't even get out the gate, but we're being told it's this Bios even though it isn't it's both GBA bioses and that the World bios made us jump that gate.