Fixes#2441. This error would occur when the memory
regions were allocated at particular addresses when
running a mono-compiled binary on a .net runtime.
The data would be copied to the pointer returned
from a fixed() statement, but the managed array
would *not* be updated with the new data. This
caused DecryptKey to silently return a bogus key
full of zeros, and the mix file header decryption
would subsequently fail.