Is it possible that one uses two identical models, both as almost huge as the level seems to be, and then render the textures with alpha channel of one of them always in front of the other? F.i. one model with the rocks and a second with the sand and scratches on it.
That should work if you can guarantee that they render in the right order. If you're willing to get into shaders, you could render it in multiple passes, which would effectively be the same thing. In the end, it might as well be a multi-pass multi-texture shader if you're using identical models - the point of the decals is so that you don't have to render the entire model for each new layer.
If you're having z-fighting issues with decals, have you tried fiddling with
d3d_near_decals? GS's decal system looks to be quite good from what the manual says about how it works, as long as you can overcome z-fighting.