OK, I went to a certain 2ch thread which was dedicated to the discussion of batteries, and this is what I found out...
Recent GBA games don't use batteries to save (I though they still did, but I was wrong. Sorry.), but instead has a flash memory or a F-RAM inside. This means unless you save a few million times, or drop the cartridge a lot, the data will stay there for near-eternity.
But old GBA games and all GB/GBC games use a battery to save (actually, the battery continueously sends electricity to the RAM so it stays activated so it holds the data). So, the battery dying = RAM gets no electrcity, so it's not active = data gets lost
It also seems like while you are playing the game, the internal battery stops sending the electricity to the RAM, and instead gets the elctricity from the GB, which means the more you play the game, the longer the internal battery lives (thats why my sister, who clocked up 600+ hours on her Gold, still has her save data, while I only played for 150+ hours and lost my data.)
It also seems like G/S/C uses more battery than R/B/Y, since it uses one battery for both the save and the clock. No wonder my Blue version is still alive, while Silver died.
[EDIT]: Btw, cleaning the cartridge connecter seems to be important too, since if it is dirty, the Game Boy can't read the data properly from it.
Also, Ru/Sa/Em uses flash memory (or F-RAM) to save, but the clock still runs on internal batteries.