i kept on reading rfc3261 and came to the following conclusion:
each 1xx response to the invite creates its own dialog at the uac. when
the uac receives 200 ok, the dialog with matching dialog id is
transitioned from early to confirmed state. the other dialogs still
remain in early state until 64*T1 seconds has passed, at which point
they are terminated. the ack is sent to the 200 ok and always has to
tag that matches the one in the 200 ok (in jason's example 5678).
-- juha