Specifically, Pokemon resets the date and time to 2001-01-01, 00:00 at the start of a new game, then it never touches the RTC again. Other than resetting it, the RTC can never be changed in Pokemon, and the game just saves an offset used to calculate game time from the RTC's time. This means that it will mess up the RTC for any other game when you do this. And it also means that Pokemon's time will always be off if the RTC is then changed by another game.
The solution is to set the wall clock in Pokemon at the start of the game to a few minutes after midnight (depending on how long the intro takes for you) to make the time offset as close to 0 as possible. Then the RTC can be set in Boktai to real time, without the time being too much off in Pokemon. You need to do this every time you start a new game in any of the Pokemon games.
You don't have to set the date to present day real time in Boktai, but you should at least set it to a date after 2002-01-02. Doing this stops the berry glitch from happening.
Boktai is only used because it's a game that allows you to set the RTC time manually. There may be other games that can do it too, but just remember that Pokemon can't.
If you have already started a game in Pokemon and don't want to start over again, I suppose the only solution is to figure out where the time offset is stored in the save file and changing it to 0 manually, and recalculate the checksum.
it seems like something no one has figured out how to make a RTC function that wont drain the battery in the device that runs it. I avoid my GB X7 for that exact reason.
Fully mechanical geared clocks have been around a 1000 years. But I it might be hard to fit one in an Everdrive. And you would need to fit a slot for a key to wind up the spring.