After more debugging and testing, attempting to return `set_ntstatus` of anything but `NtWriteVirtualMemory` seems to always fail. In Dark and Darker's case the Error Codes for `WriteProcessMemory` can jump from 0 `(ERROR_SUCCESS)`, 5 `(ERROR_ACCESS_DENIED)`, and 487 `(ERROR_INVALID_ADDRESS)` while `VirtualQueryEx` always responds with 5 in this case.
As the return needs to be flexible for these scenarios it seems as though the original fix was correct?