I imagine that this would probably be classified as an oversight rather than a bug; and I expect it probably wouldn't have a simple fix, save for allowing wagons to travel directly through each other, which would be unrealistic.
I had just traded with the human caravan. When the human wagons had almost left my site, the dwarven caravan arrived. Since I had deliberately fashioned the region into having only one three-tile path of access from the edge of the map available at the time, both sets of wagons were on the same path travelling in opposite directions, and thusly clashed head-on into each other.
The wagons remained deadlocked like this for some time, and the arriving wagons never reached the depot to unload their goods. Eventually I widened the path to let the obstructed wagons pass each other, but it appeared at that point that the arriving wagons were already deciding to leave the site, as they never advanced any further and all wagons had soon left.
If the leaving human wagons had been able to travel back towards the depot for around thirty tiles or so, they could have moved onto an alternate path and allowed the arriving dwarven wagons to pass. However, I imagine it would probably be a pain to code this sort of pathfinding foresight reliably.
In the meantime, I expect pretty much all situations like this could be averted by altering all my three-tile wagon access paths into four-tile paths, so that wagons have space to pass each other. Thus, it probably won't really be a problem again; I just thought I'd better report the occurrence since I couldn't find any mention of it elsewhere.