That's about all I can safely help you with. I messed around with this same issue but could only fix it with a hack job. Maybe you'll be able to do better.
Here is what I found. Clearly we need a texture that is simply transparent and is input as a space. That would be the simplest way. But because we don't have that option, what I realized was that the .geo was still allocating a physical location for the all the digits (in your case 6), even though you told the program you only want 4. So if you look a little further up in the .geo file you will see 6 occurrences of:
<TextureByName>
<e d:type="cDeltaString">textures\[00]decal_primarynumber_
x</e> where
x = 0 through 5. These are the positions of the digits in the number. What I ended up doing was replacing the texture "primarynumber_
x" with the same texture that the surface of the train has. It sounds confusing but if you follow the following thread it should clarify it.
viewtopic.php?f=29&t=12113You may be able to replace primarynumber_0 and primarynumber_5 with the train texture and input your DCSV numbers in primarynumber_1 through 4. You'll just have to mess around with it.
-or- wait to see if Buzz can come up with the right way to do it.