I couldn't find a good func_train and func_tracktrain example map that had the depth of testing and edge cases we needed for FreeHL, so I created this scary looking thing recently. It tests most of the functionality of train and tracktrain, including user controlled examples with alternative paths (like in On A Rail), trains triggering other entities, and even edge cases of what doesn't work. One of the few things that is not test thoroughly is the angle related settings and some other spawnflags, so I might come back later and update this. This entity is really complex and admittedly confusing.
Also apologies for it just being a giant room randomly filled, it was made purely for testing purposes, but I hope it's not too confusing layout wise. Same with the entity names, they were copied over from some older maps and so on. Might also fix that as well if I update this again.
The map is also filled with point_message entities, and while they don't work in GoldSrc, you can read their "message" field in Hammer which will help you understand what you're looking at. If you port it to Source engine or load it in FreeHL they will appear in-game.
This ZIP can also have the extension renamed to a "pk3" and placed in the "valve" folder if you're loading it in FreeHL for installation convenience.
Hope this is helpful.
-Xylemon