Have you tried swapping the solenoid? On my 200ES this winter i had that problem, i thought it was the battery but the smart charger said the battery was topped off and its a brand new battery i put in this past fall. And its a nice AGM battery as well. Turned out the solenoid once brought in the house was doing the same thing on the bench until it warmed up, after it warmed up a bit then it worked fine. Replaced the solenoid and no problems. The solenoid has grease in it that can get really stiff with cold and age, and also the coil can get weak, expansion and contraction with temp changes, etc.
Try a set of jumper cables and if it wont start with the push button take one side of the jumper cable and put it on the positive of the battery and then touch the other end to the starters cable terminal, does the starter spin now? If it does then its the solenoid, if not then i could be the starter is affected by the cold. Could be a bad winding or solder joint in it that makes contact again once its warmed up from the engine heat.
---------------------------------------------------------
1984 Honda ATC200ES "Big Red"
1982 ATC200E "Hondie"
1988 TRX300FW "Project Quad" Still in progress....