LOD models work fine for me, but I use 4. If you have only 2 LOD models, why don't you make the clipdist 4 times longer?

Scripts are very fast if you avoid bad (slow) scripting. For example

If (variableX == 0) {my.invisible = on;} else {my.invisible = off;}

is much slower than

my.invisible = (variableX == 0);

Nice model, by the way.