I tested last night using win98 and 6.14, with the following:
dialog a {
title "a"
size -1 -1 -1 -1
button "OK", 10, 10 10 10 10, OK
}
dialog b {
title "b"
size -1 -1 -1 -1
button "OK", 10, 10 10 10 10, OK
}
These sequences are fine:
//dialog -m a a | dialog -m b b | dialog -c b | dialog -c a
//dialog -m b b | dialog -m a a | dialog -c a | dialog -c b
While these crash:
//dialog -m a a | dialog -m b b | dialog -c a | dialog -c b
//dialog -m b b | dialog -m a a | dialog -c b | dialog -c a
(note the order of definition and closing)
If either dialog has a cancel button, there is no crash.
I also confirmed with another user (also on W98/6.14) that the crashes occur 100% of the time in the second case above.
My assumption is that something in the cleaning up after the dialogs is dependent on the order in which they were created. Without the source I couldn't tell, though

)