Just to be clear, you're having this issue just with this game, right?
Yes, I've been playing GBA VC titles, TwilightMenu++ emulated DS titles as well as DS cartridge games, just popped in Pokémon Sun to check, and it didn't crash either. This is only happening with FE Echoes.
Yes, h2testw. Though it seems unlikely to be an sd card issue if you're having issues just with this one game (cartridge). Nevertheless it wouldn't if you wanted to check it to know for sure, just make sure to format the sd card as Fat32 32kb cluster size before and after the test, then run it with the "read & verify" option.
You were right, h2testw didn't find an issue.
Ok, you can either try comparing the hash of your cia (dump) file with the hash of a known verified cart dump. Make sure it's the same region/release as your cart.
The checksums weren't the same (did it with Windows cmd line and CertUtil), but I think that may have been because my dump was "trimmed". Also wondering, how do updates relate to this? Would an updated game have a different checksum to an un-updated one? Because the "clean" CIA was version 1.0, while the dumped CIA was the update 1.1.
Or, you can acquire the digital version (or a cia file) of the game and install it, run and try the game without restoring your save -make sure the digital version you're installing is for the same region as your cartridge, so it'd compatible with your save-.. Then after you confirm there's no errors, restore your save (not extdata) and test again, if it didn't you any errors restore the extdata (if it has any) and try again.
If the digital version worked with both your save and extdata then your cart might be corrupted, one way to know for sure is to compare the hash as mentioned earlier.
So I installed it with a CIA from the web and it ran without issue. Next I backed up the save files and extra data from my cartridge and applied them to the digital copy. So far it's also been running without issue.
As far as I've been following, this means my cartridge is corrupted. I find this a bit hard to accept, just because it's been played once, and since then has been sitting inside its box for a few years. I'm not sure where the corruption could have happened honestly.
The digital version did ask me to install an update, the cartridge version was already updated. Maybe the update data for the cartridge installation went corrupt at some point?
Either way though; Thank you so much for you help with this!