Based on the message at http://lists.cs.uiuc.edu/pipermail/lldb-dev/2015-March/007046.html, it looks like the global event listener is racing with the event thread to pull the process stop event in the case of synchronous execution. This patch addresses this by *always* hijacking process events, and not restoring them until after *both* waits are complete.
With this patch, I can successfully use .lldbinit file to run a process. It still does not fix the issue with the stack trace not displaying as discussed in http://lists.cs.uiuc.edu/pipermail/lldb-dev/2015-March/007033.html, but it seems to be a different but related issue, so I don't attempt to address it here.