So when the internal battery of the first two generations of Pokemon ran out, they were unable to keep a save file once power was cut to the unit. Why is it then that the 3rd Generation keeps going, and only loses its internal clock? What is keeping a charge in the game pack?
It's a change from SRAM (Static Random Access Memory) to FRAM (Ferroelectric RAM), EEPROM (Electrically Erasable Programmable Read-Only Memory), or other non-volatile memory (keeps its data even when it's not powered).
SRAM requires an active electric current to keep its memory active (called volatile memory). However, FRAM, NAND, and EEPROM memory are examples of non-volatile memory storage and do not require constant power to store their data. Improvements in non-volatile memory allowed the change to happen en-mass. The use of volatile memory for save states was greatest during the SNES/GB/GBC/Genesis/GameGear era, phased out during the N64/GBA/32X/Nomad era, and I don't think a single DS game used them. Gamecube obviously didn't.
The battery is still used for the RTC (Real Time Clock), which requires power to keep its clock source (an internal or external crystal oscillator) running, and updating of its time registers. Funny enough, modern computers still do this for their clock.
Maybe. Here's the thing. Pokemon games are constantly counterfeited. Fakes are common. Sometimes it's hard to tell. This site has very high res pictures of (supposedly) real cartridges.
Of course, Leaf Green and Fire Red do not use a RTC, hence the lack of a battery (while also causing certain things not to happen correctly, or taking longer, like berries growing).