I'm using node.js v0.6.10 although I've got the same issue on 0.6.7.  Basically I run a child process using spawn that starts another node.js process, and communicates over stdout and stdin  Here are the two scripts:
parent (cli.js):
var spawn = require("child_process").spawn;
var doSpawn = function(callback){
  var child = spawn('child.js');
  child.on('exit', function(code){
    console.log("Child exited with code " + code);
  });
  child.stdin.write("ping");
  child.stdin.end();
};
doSpawn();
setTimeout(function(){}, 10000);
child.js
var run = function(){
  process.stdout.on('drain', function(){
    process.exit(0);
  });
  process.stdout.write(stdout);
};
var stdin = process.stdin;
stdin.resume();
stdin.setEncoding("utf8");
var stdout = '';
stdin.on('data', function(data){
  stdout += data;
});
stdin.on('end', run);
And then when I run node cli.js:
$ node cli.js 
node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: write EPIPE
    at errnoException (net.js:642:11)
    at Object.afterWrite [as oncomplete] (net.js:480:18)