Jeff, you're conflating different types of rotation.
The lift is a func_platrot, which is a special entity hard-coded for one purpose only: to move up and down between two points whilst rotating around the vertical axis.
The train is a combo of func_tracktrains and *maybe* the turntable entity. Again, this is a specialist application and cannot be used to make rolling tyres/banking aeroplanes/helicopters with independent rotor-blades/rolling boulders etc.
Regardless of the other stuff, I'm pretty damn confident I know the only way to make a rolling boulder (with particular specifications) in normal HLDM. I did work on this problem over the course of a few years, after all 
[addsig]