The 'quantum weirdness' I experience is a bug, and something to do with the web stuff.
It is not device specific, because I experience the same symptoms on a variety of different devices with differing amounts of memory.
It appears to be a bug concerning memory management - it becomes apparent as memory gets used up even though there is still usable memory available. It's as if the interpreter uses part of memory as a temporary buffer space for web based components but is not carefully managing what memory it is using, resulting in things being overwritten and therefore corrupted.
If the script does not utilise any of the 4Mb graphics etc 'extra's it may be possible to improve the situation by formatting and flashing 4Mb devices to be 1Mb, which seems to leave more 'slack' memory available for interpreter use, but the same quantum weirdess symptoms will eventually appear when available memory starts running out again.
The whole quantum weirdness situation eats up loads of time waiting for reconnections after rebooted saves etc, so painful experience has taught me not to waste more time trying to cut little corners - therefore I ALWAYS do a REFORMAT first, wait 15 seconds (or until I've seen the esp blue led blink after the format... it must be doing something!) then do the REFLASH in the cleanest circumstances.
Splitting a large web page into several smaller web pages helps the situation, suggesting that it's a problem with holding all the buffered web page components prior to sending them to the browser.
My impression is that the buffered screen contents get sent at each WAIT command, which should allow the buffer to be emptied with each WAIT - but maybe the buffer boundaries are being mis-managed, or over-lapping with other data areas that are being rewritten with other data, effectively corrupting the buffer... but this is only conjecture.
So if the bug is due to a web content buffer problem, best to keep the web buffer as little-used as possible, and the simple way of doing that is to split any large web pages into multiple smaller pages.
You don't need to complicate matters with juggling LOAD commands, simply branch to different subroutines within the same script as demonstrated below... but please note it is off the top of my head and makes no pretence to being a practical working script.
'Common script
[HOME]
CLS
HTML "Home page" & "<BR>"
BUTTON "Page2", [PAGE2]
BUTTON "Config", [CONFIG]
BUTTON "Help", [HELP]
BUTTON "Exit", [EXIT]
WAIT
[PAGE2]
CLS
HTML "Page2" & "<BR>"
BUTTON "Home", [HOME]
BUTTON "Config", [CONFIG]
BUTTON "Help", [HELP]
BUTTON "Exit", [EXIT]
WAIT
[CONFIG]
CLS
HTML "Configuration" & "<BR>"
BUTTON "Home", [HOME]
BUTTON "Page2", [PAGE2]
BUTTON "Help", [HELP]
BUTTON "Exit", [EXIT]
WAIT
[HELP]
CLS
HTML "Help" & "<BR>"
BUTTON "Home", [HOME]
BUTTON "Page2", [PAGE2]
BUTTON "Config", [CONFIG]
BUTTON "Exit", [EXIT]
WAIT
[EXIT]
END