Which program to use? My recommendation is Blender 2.70 and up as it is free, stable and extremely fast. It is also supported for exporting to Trainz through an official Auran converter and there are many, many tutorials available on the Internet.

Blender is also available for various platforms such as Windows (including 64 bit), Linux and MacOS, and even as a 'portable app' for installation on a USB stick.

The downside is that the interface takes some getting used to but it is well worth sticking at it though as it is in many ways just as powerful as 3DS Max which costs around 3500 USD.

Another alternative is GMax which is a very old program that has been used for creating most of the Trainz content produced so far. This does have several limitations for creating content to the latest standards, however. There are more Trainz specific tutorials available for it than Blender, but it can be a bit tricky to setup on Vista and Windows 7 systems (and is only available for Windows).