I removed the lines which write zeroes to the readposition (using the patched version) and the majority of glitches now appear 492 samples apart :-z although there are a few more closely spaced together, including a few at 246. (Note that 492 = 246*2).
What is different, is that the glitches are no longer zeroes - they are erratic values. This suggests it is picking up stale data instead of the written zeroes, at regular intervals. It's probably picking up fortunate data sometimes, just because it is a nice tidy waveform.
Really, it just looks to me like the synchronization of read/write does not work properly for these objects (adc, dac) probably needs revisited. Hatari Falcon sound won't work properly until this is fixed. I bet its happening on games, demos and stuff too if somebody records the output and looks at it :-)
(I would also suggest that the ringbuffer reader should never be writing anything, for any reason - even if it can be made to work, it is technically a side effect and it will eventually have its day in the sun ;-).
If I get time I might try to figure out exactly whats going wrong with the sync but probably not for at least a week and maybe more, as I have a number of other things needing finished. Perhaps somebody familiar with the code can replicate and make sense of it before then.