For GBA, it saves odd. I have a Supercard Mini SD so it might be different, but it should be the same.
There are two ways to save:
Real Time Save: To be able to save anytime, anywhere.
To do this, press L+R+B+Select during gameplay and it brings up a menu with Save and Load. Save saves your state, Load loads it. Default is one slot, but you can have up to four by editting the settings of the game while converting it. (More Real Time Save)
In Game Save: This backs your in game save onto the media card so it can be kept. To do this, save in your game using it's regular save feature, then press L+R+A+Select to bring up a save/load screen just like Real Time Save. Choose Save. When you boot the rom next time it's automatically loaded unlike real time save which you have to load manually.
So yea, thats probably your problem.