I downloaded kaedroho's ObjectLOD plugin, and ran his demo.
It seems to work ok, the farther away you move the fewer polys get rendered.
Can you post some example code for us to look at and try?
If you use DBPro spheres like in his demo, does it work correctly for you?
Try this code, see if it works, modified demo code
sync on:sync rate 0:sync
autocam off
set camera range 10,20000
make object sphere 1,100,100,100
make object sphere 2,100,80,80
make object sphere 3,100,40,40
make object sphere 4,100,10,10
make object sphere 5,100,5,5
xpos=0
ypos=0
zpos=0
position object 1,xpos,ypos,zpos
position object 2,xpos,ypos,zpos
position object 3,xpos,ypos,zpos
position object 4,xpos,ypos,zpos
position object 5,xpos,ypos,zpos
n=KD SetupLodObject(1,4)
KD SetupObjectLODLevel n,1,2
KD SetupObjectLODLevel n,2,3
KD SetupObjectLODLevel n,3,4
KD SetupObjectLODLevel n,4,5
KD SetLODLevelDistances n,0,0,500
KD SetLODLevelDistances n,1,500,1000
KD SetLODLevelDistances n,2,1000,2000
KD SetLODLevelDistances n,3,2000,5000
KD SetLODLevelDistances n,4,5000,10000
position camera 0,0,-4000
KD RegisterLODCamera 0,-1
do
text 10,10,"FPS: "+str$(screen fps())
text 10,20,"POLYS: "+str$(statistic(1))
text 10,30,"DRAWS: "+str$(statistic(5))
text 10,40,"POLYS/DRAW: "+str$(int((statistic(1)*1.0)/(statistic(5)*1.0)))
text 10,50,"Camera Dist: "+str$(camera position z())
if upkey() then move camera 600*(1.0/screen fps())
if downkey() then move camera -600*(1.0/screen fps())
KD UpdateLOD
sync
loop