Yes, this is true. As soon as you alter the exe, the order of the surfaces will change (a DirectX "feature"). This is why we had to develop surface recognition workarounds. In early times I wrote a brute force texture comparing hack, which became obsolete with the introduction of the commands GetSurfaceBRush, GetBrushTexture and GetTextureName$, that will allow to trace back the used texture of a surface. This way it usually is possible to to identify the surfaces correctly. (Will fail when multiple surfaces use the same texture, eg. when you need to break up the mesh in pieces because of too many vertices).
An other solution is to use LoadAnimMesh. This way you can get the entity name of every child (that's every surface). So eg. when there are 3 cubes in 3d studio max, and you name them cube1, cube2 and cube3, then you can do this: c1=FindChild(m,"cube1") in Blitz3D.
An other solution is to use LoadAnimMesh. This way you can get the entity name of every child (that's every surface). So eg. when there are 3 cubes in 3d studio max, and you name them cube1, cube2 and cube3, then you can do this: c1=FindChild(m,"cube1") in Blitz3D.