My guess would be that this is the source of the problem, and most likely the importrange. If the source temporarily “disappears” - for whatever reason - and Glide happens to sync at that time, then you’ll wind up with what you’re seeing.
When using importrange, the safest thing is to use static column headers, and then start the importrange at row 2.