What shell are you using to startup the iPlanet start script ?
If you are using bourne shell, that might be your problem - MAYBE. Bourne shell doesn't have job control so when you put something in background and exit the parent process that started the background child process, the child process can get screwed up (assuming the trap handler is whacky) or even get terminated.
Just for kicks, try doing:
exec /bin/ksh
<run iPlanet startup script>
exit
See if that fixes your problem.