This was due to errant use of IGNORE for the signal handler inside of sigchld(). On some platforms IGNORE silently reaps the child's exit code instead of just ignoring the signal altogether. That prevented the child counter from being fully decremented as expected by the test suite, producing the hang.
Because of the intermittent nature of this bug, it's difficult to say definitively, but it should be dealt with in v2.05 of Paranoid by the substitution of sub { 1 }; in lieu of IGNORE inside of sigchld().