The drive was doing very bad things, burning rings on various media, doing very bad burns, causing lots of CRC errors, high PI and PIF counts on very good media.
In a final act of desperation I burnt a disc (CMC MAG E01 of course) and deliberately caused buffer underflow quite a few times so that the drive would stop / start over and over (my Canon flatbed scanner uses the parallel port, and when you do a scan the whole computer grinds to a halt).
At the end of the burn, the result was perfect again.
I guess I’ve done about 10 burns since then, using an assortment of media, and not had a single bad burn.
I don’t know how or why this has worked, maybe some of our armchair experts might like to comment?
Sample burn since being fixed: