It's Blitz3D's internal automatic memory usage optimation: when you load a texture twice, it will use only one copy of it in VRAM and create pseudo instances for every further handle, AS LONG AS it has the same flags and everything. As you suggested, there are some workarounds, like creating a texture using CreateTexture and then CopyRect a LoadImage-ed image to the texture buffer. Alpha and/or Mask information will have to be recreated with this method, there are some examples in the code archive (eg: optimize alpha/mask). Also, unfort. this won't work with DDS textures.
An other workaround is to save or copy the texture using a new, individual name. This temporary file may then be deleted instantly.
An other workaround is to save or copy the texture using a new, individual name. This temporary file may then be deleted instantly.