The problem was argv_emulation.
I had argv_emulation set to True. When I double click the app in Finder, my app shows up in the Dock and the Status Bar. But neither the window nor the alert shows up. When I click on the Dock icon, then both of them show up. Here's a link to the entire project and a build that does not work: https://cloud.box.com/s/tuzakq025ab7t49geoh9
Thanks to Ronald, I looked through an example and found that argv_emulation was not set at all. I set it to False and my app behaved as expected.
Is this a known issue?