There are many reasons a card can be sent a view[] event, including exiting editing tools, (re)opening a deck, or closing a dialog box. It should not be understood as an event that is fired when a card is visited at all, but rather a request to update the contents of a card. I do not recommend attempting to use timing as a method to disambiguate the origin of a view[] event; such methods are inherently brittle and error-prone.
To address may's problem, I would recommend altering the script on the originating card to send a new event- one not generated by Decker itself- to the destination card after the transition. Let's call the new event "visited":
on click do go["Next" "SlideDown"] deck.card.event["visited"] end
(Note that after go[] has completed, "deck.card" will refer to the card we just navigated to.)
The destination card can then fire the dialog in response to this "synthetic" event:
on visited do dd.open[deck a] dd.say["Kindling Village"] dd.close[] end