I'm keen to get to the bottom of this issue of frozen / repeated values, so Scott Simms has kindly agreed to my request for a private beta of APPro which will log some additional diagnostic data. Just for the sake of clarity, I'll try to describe what I think is going on based on the Garmin documentation, discussions amongst Garmin app developers and my past life as a C developer.
The Airoha transmits NMEA data every second, which is an asynchronous serial protocol. The Garmin has to consume the NMEA sentences character-by-character, parse the different sentences and combine the data prior to actual processing of position and speed. Skip past all of the system / app / datafield processing and there is a background thread (or process) which writes one record per second to the FIT (or whenever changes occur, when using "smart" recording), simply writing whatever data is present.
In between the NMEA consumption and FIT writing is where things can easily go awry, because event-driven processes and the various listeners may not always fire at precise time intervals. This is where the synchronisation / timing could lead to what I referred to as race conditions, where multiple threads / processes are racing against each other and the timings impact the outcomes. Anyways, the logging in APPro will provide two important pieces of diagnostic data every second - system timer (milliseconds) and GPS time.
The milliseconds timer will tell us if the location events fire at regular intervals. I don't expect to see every 1000 ms like clockwork, but how much will it vary - 800-1200 ms, 700-1300 ms? Do the absolute times of the location events slowly drift? Additionally, the GPS timestamp will also be interesting when we get frozen / repeated values of lon + lat + speed. If the GPS timestamp is repeated, then it may suggest a Garmin glitch, not Airoha. I'm confident the additional diagnostics will show something useful, so I will look forward to the testing.
In terms of on-the-water testing, the person who is probably best placed to do some "wet neoprene" testing is sailquik with his two FR 255 watches; one impaired, one normal. I fully expect to see degraded data (accuracy and precision) from the watch that has an impaired signal but over a number of sessions it will be possible to gather some statistics as to how many sessions are affected by the frozen / repeated values. Again, time will tell if there is a relationship and whilst I remain sceptical, I'm keen to see some data from multiple sessions.