Wendy,
While unfortunate that your son was so delayed, here's a few other things to keep in mind.
First, Amtrak does not actually run the buses that connect to the train. They contract that out to a local bus company. Hence the reason that none of the Amtrak customer service reps could tell you what was going on.
Second, Amtrak does not own the tracks that their train runs on. Those tracks are owned by BNSF freight RailRoad. That means that BNSF is responsible for the broken gates and it means that Amtrak doesn't always get priority. There are times that Amtrak gets stuck behind a slow moving freight train.