My biggest question is how does the lowest detail object have the same UVs as the main object? Do you lay out UVs on the original and then duplicate the object and remove edge loops etc to create the next LOD and so on? This may be pretty simple but I just have no experience in creating them.
Nothing really beats reducing polys by hand in any app. But there are some pretty good plug-ins available that do a pretty good job of reducing polys. I'm not sure what 3D app you're using but there is one for 3dsMax called PolyCruncher that does a pretty good job at not messing up your UV's, but can mess up the topology…