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.