For gemlib and cflib, I added d1/d2/a2 to the list of potential trashedregisters. I don't know if it will fix something, but it can't harm, and itseems to be the official way to do.
Profibuch says ROM-VDI save all registers, though there is no standard defined. I think that's why no problems occur with NVDI. To be completely compatible, fvdi sould do the same, and gemlib would not have to do it again.
Maybe someone knows what fvdi does here. -Helmut