A mixture of hacking and actually getting the correct parameters into the CreateTexture and Update texture calls.
Seems like I had texSize and dataSize reversed in meaning.