My own GMC-300E+ initially had Firmware 4.20, and it did work as a ring-buffer. There is an in-depth explanation to its working in the manual of my GeigerLog software, Appendix E, available here: https://sourceforge.net/projects/geigerlog/
You can see it for yourself by downloading the history with GeigerLog and then look at the created *.his file with an editor. If there had been an overflow, and the ring-buffer did kick into action, the file may look like this (total number of lines ~30000):
#HEADER, File created from History Download Binary Data
#ORIGIN: Downloaded 2018-06-30 11:10:34.568 from device 'GMC-300Re 4.22'
#FORMAT: '<#>ByteIndex,Date&Time, CPM' (Line beginning with '#' is comment)
#45186,2018-05-20 03:56:26, Date&Time Stamp; Type:'CPS, save every second', Interval:1 sec
45198,2018-05-20 03:56:27, 420
45199,2018-05-20 03:56:28, 840
.....
65642,2018-05-20 09:14:36, 130980
65647,2018-05-20 09:14:37, 135540
65652,2018-05-20 09:14:38, 126480
# 121,2018-06-24 17:43:36, Date&Time Stamp; Type:'CPM, save every minute', Interval:60 sec
133,2018-06-24 17:44:36, 2137
138,2018-06-24 17:45:36, 2188
143,2018-06-24 17:46:36, 2210
.....
45183,2018-06-30 13:25:15, 12
45184,2018-06-30 13:26:15, 10
45185,2018-06-30 13:27:15, 8
You see that it begins at index 45186 and increases to 65652, when it switches to the beginning at 121. From there it increases to 45185, the last index before the first in this file. Truly a ring buffer.
If your output does not look similar, then try a FACTORYRESET. If still no change a repair may be needed.