Hi,
I noticed on Windows that when I use IO functions that write to stdout when the process is lacking a console, those functions throw an IOError. I'm not sure if this also occurs for stderr because I haven't tried it.
Some classes of processes are created without a console because they never interact with the user and include System services. Crashing with IOError in this case is difficult to diagnose because because the only symptom is the process crashes with no visible output.
I believe the most sensible behaviour should be for those functions to not throw, but instead do nothing.
-John