I've done more investigation, and actually found that this happens on the last few days on each year within the data. My assumption therefore is that the splunk DB connect app is calculating the year incorrectly from the epoch format timestamp before indexing. (As the event string itself has the converted date, which is incorrect - and the splunk event time always matches this converted date).
e.g.
Event Time
31/12/2014
15:18:27.000
Event Data
"2014-12-31 15:18:27" CHANGEID=1770752, CHANGETS=1388503107000
Where 1388503107000 should be GMT: Tue, 31 Dec 2013 15:18:27 GMT
... View more