I’m not sure what would have caused your problem with the fast forward control not sticking, but I agree that doing a “Restart RetroArch” after changing settings is probably a good idea. I’m not sure what the default is, but Configuration Save On Exit in General Options might need to be enabled for this scenario. I’m not certain what RetroArch does when this is set to OFF. Save in real-time? No save at all? Regardless, if it’s on, you can force a save at will by doing a Restart. I have had settings lost when a core crashes (e.g. FCEUmm lately), so by doing a restart before loading any content you should have the best chance of settings sticking.
EDIT: I should get in the habit of saying everything I’m thinking, then submitting. I don’t think there’s currently a practical way to set custom resolutions for handheld platforms like GBA because they use obscure, non-TV aspect ratios. When you change the vertical resolution (e.g. from 640480 to 640448) what you’re really doing is telling the Wii to fill the top and bottom of the screen with 16 pixels each of black empty signal. So on a system like SNES which usually only uses 224 (448 doubled) lines, the other 16 (32) lines are still there, just empty.
Trying to apply this to GBA, though, you start to have problems. Let’s say the “sensible” hardcoded resolution for GBA is 480160 (or 480320 for HDTVs). Firstly, this means 40 (80) lines of black on top/bottom, but none on the sides, since RetroArch is currently set up to scale the image to fit the screen, horizontally (which is roughly what consoles meant for TV do). A GBA isn’t designed to do this, though, so if you set the resolution to 480160 or 480320, it’s going to look bad. The problem is RetroArch assumes an intended display width for all resolutions which is based on them being designed for television, which handhelds aren’t.
Slightly more complicated version: 480*160/320 with the video encoder width at 640 as RetroArch does currently will give you an image with the aspect ratio … 40:21, basically almost twice as wide as it is tall. The true GBA aspect ratio is 3:2, so this is about 27% wider than it should be. If you really wanted to use a hardcoded 480-wide resolution with GBA, you’d need to change the video encoder width to … 504 pixels. This would get you a 3:2 picture “accurate” to the GBA. But none of this video encoder scaling is currently available in RetroArch, it’s just locked to 640, so you can’t do GBA in a hardcoded resolution. Sorry to keep harping on this, but this is one reason why adjustable video encoder scaling would be great for RetroArch Wii/GC.