That said, even replacing a battery in R/S/E is not enough to restore all the battery-related functions. Time passing is weird in Gen III. It looks at the time on the battery [how many ticks have elapsed since the battery began] and the time on the save file and compares the two. In order for passage-of-time-based events to occur, the time on the battery has to be *higher* than the time on the save. If you replace the battery, its time is reset to 0, meaning it will never be higher than the time on your saved game. So no berries, no sales, no illusory islands that don't really exist [*coughs*] and so on; but things that concern themselves solely with the *time of day* still function: namely, Espeon and Umbreon, and the rising and falling tides.
Fixing that requires one of two things. Starting a whole new game [sucks to be us who have the game more-or-less beat], or use saved-game editors to reset the elapsed time in your save file. Provided, of course, that you *have* such a thing.