I don't know about Amtrak's reservations system(s), but after 50 years designing computer systems, I can visualize ways that this could occur. The most probable is that the telephone (live person) reservation clerk interacts with a real-time train space database system, That is to say, when a clerk pulls up an available space on their display, that space is immediately marked as unavailable to all other telephone reservation clerks. If you rent that space, your clerk releases the space back to the real-time database, but the space now is marked as unavailable. Though, if you decide not to rent the space, your clerk releases the space back to the real-time database, though this time the space is marked as available for any other reservation clerk to rent.
However, in the case of the online reservation system, you, one of hundreds of Internet users trying to make reservations, are probably interacting with a separate space database system that uses an image of the real-time space database, but is not connected to it in any way. This would be done for security reasons with firewalls to protect the real-time database from those people who love to create havoc with viruses, etc. At any rate, when you make your reservations and rent rooms online, you are updating space availability on that separate online database. Then periodically, perhaps every 15 minutes, the online database is compared with and updates the realtime database, at which time both databases would become the same. If a telephone clerk rented "your space" before the two databases had been compared and updated, creating conflict, you probably would receive an immediate phone call or e-mail to offering correct the conflict.
Please understand that what I've said is purely speculation, but it might be how I would have designed the system(s) back before I retired.