If you use the --debug option, the debugger replaces the ios-sim process, so there is nothing reading from the fifos and forwarding them to the terminal. This will eventually hang when the fifo buffer fills up. I think all you need to do to fix this is fork before executing the debugger.
thanks @bdarnell, would you be willing to submit a pull request?
Launch debugger in a child process so it doesn't block the stdout/std…