Das Identifizieren von Objekten mit Hilfe von Namen hat gegenüber IDs immer den Nachteil, dass Namen nicht zwingend eindeutig sind, d.h. es birgt die Gefahr, die falschen Objekte anzusprechen. Das Verwenden von IDs schließt dieses Problem prinzipiell aus.
Ein kleines Beispiel (zugegeben, in der Praxis nicht übermäßig sinnvoll, aber es dient ja auch nur zur Veranschaulichung):
Angenommen, man möchte mit einem externen Programm mit Hilfe des Events "Lok erreicht Gleis" (150) das Gleis, das ein bestimmtes Fahrzeug gerade überfährt, irgendwie hervorheben (Selektion, Tauschtextur, wie auch immer). Das wird mit der Namens-basierten API nur verlässlich funktionieren, wenn die Namen aller beteiligten Objekte (Fahrzeuge und Gleise) tatsächlich eindeutig sind, d.h. vom Anwender vorher irgendwie eindeutig gemacht wurden, denn MBS erzwingt ja nicht deren Eindeutigkeit. Würde der Event jedoch nicht die Namen, sondern die IDs der Objekte liefern, dann wäre sichergestellt, dass so etwas unabhängig von der (mit Recht freien) Namensvergabe funktioniert.
Selbstverständlich müsste die API es auch ermöglichen, anhand der ID eines Objekts auf dessen andere Eigenschaften, wie z.B. seinen Namen, zuzugreifen...