This probably has something to do with stdin/out and/or the controlling terminal. I'm not sure. You could try to close /dev/tty and/or stdin in your application and see if that helps.
Sorry that I cannot be of more help.
Roland
CPAN::Forum
Expect - Re: Running a script in the background on Unix