I have a similar issue, and your solution makes sense, but for some reason, after unlocking the texture data, when trying to access the DestPixels I get the following error:
Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x000000bcbb580000
to my knowledge, the Memcpy creates a copy of the data, so why would it be affected by the unlocking of the GPU?