The following represents an abbreviated example of more complicated code, but it replicates a problem the more complicated code encounters.
f[x_, y_] := Module[{o1, o2},
o1 = 2 x;
o2 = 3 y;
Column[{o1, Button["Save data to file", w = Print[o2], Method -> "Queued"]}, Frame -> True]]
z = "";
Grid[{{"input1", InputField[Dynamic[x]]},{"input2", InputField[Dynamic[y]]},{"A button", Button["Evaluate", z = f[x, y], Method -> "Queued"]}},Frame -> True]
Dynamic[z]
I put this code in an InitializationCell.
When I launch the notebook containing this initialized cell either directly by clicking on the notebook's icon or by selecting it from Mathematica's File >> Open... menu, the notebook runs the code on startup as one would expect:

BUT....
When using OS X, Mathematica 9, by default launches a "Welcome to Wolfram Mathematica 9" display.

If I select the same notebook from the above (by clicking on the correct "Open recent ...." selections) the InitializationCell fails to run when the notebook opens. What gives?
I can certainly choose not to launch anything from this apparently problematic Welcome screen, but this presents a larger problem if one needs to deploy a Mathematica application to some end user over whom's environment one doesn't have complete control.
This kind of inconsistency does not help an end user's confidence in the platform.
Can anyone explain why this happens?
Does this Welcome screen point to a cached version of the notebook for which it thinks the initialization cells have already run? But remember that this only happens when launching Mma.
Can one set anything in a notebook or in the Options Inspector to stop this from happening?