There are three different chips that can be used for saving on a commercial GBA cart. Flash carts (like the 3-in-1) only have one of these, so the game has to be patched to save correctly.
I'm guessing you have the EZ-Flash V for your SLOT-1 card? If so, the latest beta of the firmware automatically patches GBA ROMs to save correctly. Alternatively, there's a tool called GBAExpLoader which can be used to write GBA ROMs to the 3-in-1, this also has autopatching. Third option is to patch your games manually, on your PC, using a program like GBATA, which has an SRAM patching option.