In my 5+ years of using DOpus, I've never seen an update without asking for reset. For a frequently updated software like DOpus, that is really a terrible feature.
I've also complained about it before and I don't agree there is no solution for that. I've been ignored then (what a surprise), but, I'll explain the solution again.
Since the set of shell extension features that are exported to the outside is fairly constant, you should make another layer that changes only when, for example, a new command is added to the shell extension (which should be rarely). That new layer should be realized as a dll (which would be loaded in processes that load shell extensions) and wouldn't be changed and updated with each build. The dll itself would only forward commands to real DOpus dlls which would be loaded and freed dynamically, when needed.