I like how each component is easy to implement. When the jump code being edited was demo'ed it became apparent how useful this will be.
I'm not sure I understand the whole problem with function pointers, but couldn't we have a struct in the game memory that points to all functions we are interested in. Then any function pointers in our code point to the entries in this table instead of the actual function. When the DLL is reloaded, we just patch this table in the game memory struct. We'd have a double indirection, but its probably worth it for the convenience and speed of live tweaking.