I have grepped and found few mentions about preupdate hook
which you didn’t delete.
Firstly, it seems that you can remove struct PreUpdate.
Secondly, one comment in update.c (line 565):
* That (regNew==regnewPk+1) is true is also important for the
* pre-update hook. If the caller invokes preupdate_new(), the returned
* value is copied from memory cell (regNewPk+1+iCol), where iCol
* is the column index supplied by the user.
Remove it as well pls.