(I added that patch, which was provided by Justin Pryzby, to cron)
Strange. On my Debian Squeeze system with cron-115 (diff to -114 is only in packaging), I get the following results with the test case you provided:
$ cat /tmp/stdout.log
normal
total 0
dr-x------ 2 chris chris 0 Oct 24 23:43 .
dr-xr-xr-x 7 chris chris 0 Oct 24 23:43 ..
lr-x------ 1 chris chris 64 Oct 24 23:43 0 -> pipe:[43931]
l-wx------ 1 chris chris 64 Oct 24 23:43 1 -> /tmp/stdout
lr-x------ 1 chris chris 64 Oct 24 23:43 10 -> /tmp/test.sh
l-wx------ 1 chris chris 64 Oct 24 23:43 2 -> /tmp/stderr
lrwx------ 1 chris chris 64 Oct 24 23:43 5 -> /tmp/tmpfznXN8E (deleted)
total 0
dr-x------ 2 chris chris 0 Oct 24 23:43 .
dr-xr-xr-x 7 chris chris 0 Oct 24 23:43 ..
lr-x------ 1 chris chris 64 Oct 24 23:43 0 -> pipe:[43931]
l-wx------ 1 chris chris 64 Oct 24 23:43 1 -> /tmp/stdout
lr-x------ 1 chris chris 64 Oct 24 23:43 10 -> /tmp/test.sh
l-wx------ 1 chris chris 64 Oct 24 23:43 2 -> /tmp/stderr
normal
---
(I added that patch, which was provided by Justin Pryzby, to cron)
Strange. On my Debian Squeeze system with cron-115 (diff to -114 is only in packaging), I get the following results with the test case you provided:
$ cat /tmp/stdout.log
normal
total 0
dr-x------ 2 chris chris 0 Oct 24 23:43 .
dr-xr-xr-x 7 chris chris 0 Oct 24 23:43 ..
lr-x------ 1 chris chris 64 Oct 24 23:43 0 -> pipe:[43931]
l-wx------ 1 chris chris 64 Oct 24 23:43 1 -> /tmp/stdout
lr-x------ 1 chris chris 64 Oct 24 23:43 10 -> /tmp/test.sh
l-wx------ 1 chris chris 64 Oct 24 23:43 2 -> /tmp/stderr
lrwx------ 1 chris chris 64 Oct 24 23:43 5 -> /tmp/tmpfznXN8E (deleted)
total 0
dr-x------ 2 chris chris 0 Oct 24 23:43 .
dr-xr-xr-x 7 chris chris 0 Oct 24 23:43 ..
lr-x------ 1 chris chris 64 Oct 24 23:43 0 -> pipe:[43931]
l-wx------ 1 chris chris 64 Oct 24 23:43 1 -> /tmp/stdout
lr-x------ 1 chris chris 64 Oct 24 23:43 10 -> /tmp/test.sh
l-wx------ 1 chris chris 64 Oct 24 23:43 2 -> /tmp/stderr
normal
---