The dev docs are online also at
http://railworkswiki.com/ although for some reason they're missing all the example images. They are written from the point of view of someone who wants to create a new asset rather than modify an existing one, bu tthey're of some use when you're trying to learn what all the different files do.
The problem is - and this is why you can't give a fixed procedure for everything - is that the only thing that matters to the game is the blueprint, and even that just has to be "somewhere in the assets tree". The blueprint itself has references to most of the files that make up an asset and they can be ( and having seen some really wierd asset folders, actually *are* ) anywhere. However read the art guidelines, there's a recommended layout for asset folders there that most people seem to follow somewhat.
* Blueprint: xml document compressed as a .bin file, you can use serz.exe in the RW root folder to de/recompress it or just open them in RWTools. This is what defines all assets - no blueprint, an asset doesn't exist. Certain types of blueprint - including engine and wagon blueprints - can reference other blueprints.
* 3D shape: a GeoPcDx file ( also xml and you can open that in RWTools too ), contains a list of materials with relative paths to textures, and all the vertex data that makes up a model. By convention the textures it references are in a folder called "textures" in whichever folder the shape file is in, but it is important to note that they don't have to be, and fairly frequently aren't. Materials generally refer to one particular texture filename, so you can't go replacing most of them at runtime - if you want a model with differently painted textures, you'll need to make it load different texture files, and the simplest way of doing that is to copy the 3d shape to a new folder and then make some new textures, throwing them wherever the shape is expecting them to be.
* Texture file: TgPcDx file, is basically just a .dds file.
* Animation file: .ban file extension, usually you can just leave the references to those alone.
So technically all you need to do to make a different version of an asset is clone it's blueprint and change the display name inside, but then all you've done is have two identical assets with the same name. If you set up a new shape/texture folder then you can change the path to the shape in the blueprint, and it will load your copied shape, which itself will load it's own textures.