You
could use a custom shader that disregards all the data passed to it and assign it to any meshes that your not currently showing but that would be a poor solution I think.
In a similar way you
could set the Mesh UV offset so the mesh only shows an area of texture that is completely transparent and hence is invisible, but thats also a rather horrid fix too that i wouldnt recommend.
Its probably best to:
Split the multimesh object into multiple single mesh objects using CreateObjectFromObjectMesh() (store these in an array - delete the original object)
Use FixObjectToObject() on all the objects you just created so you can control it using just 1 object position and rotation. Link them all to the Object with the highest LOD
Turn off any collision on the objects that are not the highest LOD and dont make them part of physics at all...only the highest LOD needs to be
Use SetObjectVisible on these so that only 1 of them is ever visible...which one depends on the range from the camera.
Unfortunately you will still get moments when the LOD changes though so the object appears to physically change as you walk towards it or away. Continiously variable level of detail isnt really doable in AppGameKit at the moment, unless you actually do it as an object animation so that it is infinately variable between two LOD's and that takes a lot of setup in the animation to make it work seamlessly.