I did some testing on mine and I concur that it does not reliably return to the previous mode. However, mine usually jumps only one level. I was unable to get it to return to moonlight mode following burst 9 times out of 10 attempts in my first test.
(Methodology: put light in moonlight mode. Turn off for >2 seconds. Double click for burst. Turn off for >2 seconds. Turn on, check level. Results from moonlight: moonlight 1, low 7, high 2. Possibly the high results were clicked too slow, but I attempted to do it exactly the same each time. Results from moonlight after watching Jason do it in a video and attempting to copy his timing exactly: moonlight 8, high 2. His timing was a bit slower than what I had been doing. Also I tried to use more of the switch travel, since I wasn't going so fast.)
I think it's the switch. I noticed that output will flicker sometimes, which apparently counts as a press, when I am attempting to get to burst. Basically I half-click once quickly, and it's in burst already (before I press the second time). Whether it flickers seems to be related to how far the switch travels. I'm guessing that somehow the extra click(s) are changing modes. Note: this never happened when I attempted to copy Jason exactly (although there were still issues, see results). I can get the light to skip levels using the flicker if I try (and I had noticed this once or twice in use, but thought it was just me). I don't see a flicker, but I try to press the same way, and voila - hop two modes with one half-click! Also, it's possible that a slow double click just takes the light up two levels. I find it very hard to distinguish between burst and high - if I double clicked from moonlight, the only way I would know that I got burst would be to turn it off and see which mode comes up on restart.
If you use most of the switch's travel when clicking, these sorts of things shouldn't happen to you. But I'm used to half-clicking (from the old Quark interface).
Conclusion/TLDR: it's pretty easy to fool the light's firmware using edge cases of the switch. Possibly it an "anti-shock" type adjustment so that connect/disconnect cycles above a certain speed don't count would fix this? Or a different switch. If the low battery strobe is repeatable on the new light (which I haven't tested), this should probably be implemented anyway.