James,
I have used AutoDispatcher to schedule and run 40+ trains at a "museum" a couple of years ago. I now use Dispatcher to run 5 trains on my small home layout. Both required considerable investment in time to understand fully, and both required extremely solid physical setup (trains, track, turnout control, detection, etc.).
AD is probably closer to what you desire, as you tell it when and where you want to go and the code finds the best path based on current occupancy, etc.
I've not used TC, but I've seen it in effective use. My take is that it limits the flexibility of the "panel" so that the routing logic becomes easier. Not a bad compromise if true. Of course, considerable time investment is required with that tool as well.
Regarding "abstracting" out the scheduling and running, I'd be very interested to see your track plan. In practice, there just aren't that many ways to get "there" from "here" on most model layouts. So things like transits become much less of an issue than they seem at first. With both of my tools, most of the "trick" is collision-avoidance, not routing and scheduling.
--SteveT