Yeah, I got that the first time when I read about it a week ago at CET DST transition. There's no easy way around it, really. The buggy FW with the one-week-late DST adjustment is just the icing on the cake. I'm an SW dev too (used to be for ~20 years) and a lot of info is missing for solving it in a robust way. One can't just assume DST has changed when the console/envoy is suddenly back an hour, even when it's expected. Too many variables can be changing outside of the control of the program or the programmer. Not even mentioning stored archive records in the console.
One might be able to handle the problem by disregarding timestamps from the console and using the local system time of weewx. But then what about reading the backlog with DMPAFT? The records should be put somewhere on the timeline. If records happen to be stored before and after the DST change then we're back to square one.
Another idea is to have the user disable automatic DST changes. Then the most difficult piece of the puzzle can be solved and weewx would be able to take care of the problem, but then what about the time displayed on the console? For an envoy it's largely irrelevant, though.
If the records are always generated by software, and only catch-ups are read with DMPAFT, then the problem is 99.9% mitigated (there's a very thin chance of a catch-up happening at DST transitions), but not solved. I'm going to switch to software record generation for other reasons I mentioned in another post, anyway.
And then, even if the problem is mitigated succesfully, there's the problem of the number of hours in a day. At DST start, the day is one hour shorter; at DST end, it is one hour longer. It should somehow be reflected on the graphs.
Well, take it as if I was thinking out loud :) You most probably have given a lot of thought at solving this and I for one, can fully understand why this isn't solved. I can live with one hour of missed records, of course, as everyone else. It only hurts my programmer side... It might be beneficial to study how other software authors handled this same problem. At least I have a habit of gathering working ideas instead of reinventing the wheel.