Face, I think I've found a bug in your hooking library. I'm posting it here so anyone else who uses your code knows about it too.
VesselHook::hookVtable has the line:
HANDLE hSelf = OpenProcess(PROCESS_ALL_ACCESS, FALSE, ::GetCurrentProcessId());
This uses the flag PROCESS_ALL_ACCESS, which is...