I've investigated further, and found another directory that fails due to the build of a .o not being finished before the ar/ranlib rule to make a .a. If I run BSD make with -j4 I can't get it to fail. But with GNU make -j4, it fails pretty regularly. This is gmake 3.81 on NetBSD 4.0_BETA2 on i386 on a single processor machine.
The problem occurs in sane-backends-1.0.18/lib. The bug is that libtool --mode=compile will build not only the shared .lo but the unshared .o as well. After make ensures that the .o is built, and goes on to run the rules to get the .lo, it then feels free to run the .o->.a rule in parallel, and this can lose as a .o is recreated. I can explain further if this is not adequately clear.