Create texture
VideoTexture.Texture is the class that creates the Texture object that loads the dynamic texture on the GPU. The constructor takes one mandatory and three optional arguments:
gameObj
The game object.
materialID
Material index as returned by VideoTexture.materialID(), 0 = first material by default.
textureID
Texture index in case of multi-texture channel, 0 = first channel by default.
In case of UV texture, this parameter should always be 0.
textureObj
Reference to another Texture object of which we want to reuse the texture.
If we use this argument, we should not create any source on this texture and there is no need to refresh it either: the other Texture object will provide the texture for both materials/textures.

I am in version 2.66 and it's been a while since I try to replace as BGE, the texture of an object with that of another object, but it never works? Here is an excerpt of my script: