The reason Gold/Silver/Crystal batteries die so much faster than Red/Blue/Yellow is the internal clock, which is much more taxing on the battery than RAM alone. Most Game Boy games don't have an internal clock, though, so their save files should still last for a long time. (In fact, the only GB games with internal clocks that I know of are Pokémon G/S/C and Keitai Denjuu Telefang.)

GBA games use EEPROM to store save files. Although EEPROM doesn't require a battery, it has a (very high) limit to how many times it can be rewritten to. R/S/E have internal batteries solely for the game's clock.

Anyway, thanks for the guide! I'll be sure to fix up my Silver game as soon as I can, because I don't want to lose my precious save file. It's not every day you see a completed Pokédex.

Now if only I could fix my Yellow game...