An update on the movement paths stuff: I think I've got the basic workings of this figured out. I have a "path manager" object, one for each path in the scene. Inside this is an array of pointers to "path node" objects, which are basic subclasses of the BASE_SCENE_OBJECT class and are inserted into the scene-graph as usual. The path nodes can use either simple linear-interpolation or catmull-ROM for that nice smooth curvy look.
Also on the agenda is modifying the CurvedWorldObject class to hold at least 2 levels of detail meshes in them. This will be fairly simple to implement and will just involve adding a couple of new unsigned chars to the mesh settings (LOD levels 0 and 1) and a floating-point distance to cut to the low-detail mesh. As each level of tesselation multiplies the face-count by 4, only going 1 level lower should give a decent drop in tris to be drawn.