(Wrote this earlier today and never posted it. Probably more verbose than it needs to be, but hey, it's me...
)
I won't say you've put it completely out of the running, but it may be time to rule out a couple of other things.
To follow up on what Firstpeke said: It isn't turning the ignition on that causes the clock to lose its mind, it's that at some point while it's off, there isn't enough voltage to maintain it. Turning the ignition on pulls a lot more current than just the clock and feeds the dash through a different circuit. That's the first good current the dash sees, and not having had a backup, it starts at zero. (Subtle but important difference.)
Circuits that draw very little current are very sensitive to the quality of the connections, and if you don't have one that's completely gone, it could be something dirty. I used to work for a company that made a device which drew a few microamps (1/1000th of a milliamp) when idle. We had a sudden bunch of units returned for service because they stopped working. We'd throw in fresh batteries and everything would be great. Long story short, it turned out that the cause was the batteries. The manufacturer had quit plating the terminals in gold (which resists oxidation) and switched to something else that didn't do as good a job. The difference in how much the terminals oxidized made enough resistance to prevent those tiny currents from flowing and resulted in the thing dying when idle.
If the clock loses the time
every time you turn off the ignition switch -- whether the off-to-on time is ten minutes, an hour or a day and no matter when the last time the engine was run or for how long, you probably have a fault in the circuit that keeps it backed up. (My dash weathers disconnections of the the battery of a couple of minutes, so there may be some capacitance in there somewhere to cover it.) That's pretty easy to check. Pull the connector from the back of the dash and look for 12V on the red/green wire. That wire runs all the way back to the fuse block, where it's fuse H on a standard bike and J on an ABS model.
The battery still isn't off the list. You arrived with a surface charge on the battery put there by the charging system, probably more than enough to keep the clock going. Leaving the ignition in the on position applies power to the dash through a different circuit than the one that maintains the clock when it's off. The position of the kill switch doesn't matter, because that only shuts off the circuits that run the engine, not the dash. The dash is a high-resistance load and draws a very tiny amount of current to remember the time and mileage. Lead-acid batteries have very low internal resistance that rises as they discharge. If your battery's shot, the charge will bleed off overnight and may raise the resistance in the entire battery-dash circuit enough that enough current can't flow to maintain the memory.
--Mark