IIRC, baron promotion, and likewise with what goods will arrive in the next caravan, are dependent upon the liason successfully leaving the map. Same with tributed items given to trade caravans only being calc'ed once they leave the map edge.
Computation and checking for offsite data only occurs when merchants first arrive, and when they leave. Otherwise the rest of the world exists without time.
So, if the algorithm to promote barons waits unil the liason leaves the map, then it may be possible to get 2 dwarves into the promotion queue.
It would go down something like this:
Merchants arrive, and initial checks are done.
Fortress has enough wealth? (Check)
Fortress does not yet have a Baron? (Check)
-->set "baron promotion" dialog : true
*initiate conversation
User chooses a baron candidate? (True)
-->set flag for promotion on entity
(False)
-->terminate dialog
*Liason leaves map
Probe entity list for promotion flag
Found entity for promotion? (True)
-->promote, clear flag
(False)
-->do nothing
The question then, is if the promoter promotes all entities with the promotion flag set, or if it stops after hitting the first one.
If it does the former, all flagged entities will be promoted. If it does the latter, then we still have dwarves with the "give promotion" flag set after the promotion routine fires. If we rename the baron, or in some other way make his entity move lower in the entity list, then on the next scheduled promotion cycle, the previously picked dwarf may get the promotion, and you end up with 2 barons instead of a count.
Science is called for.