My research indicates that the Solaris version of readdir_r() is *broken* in 64-bit mode. It compiles fine, but core dumps as soon as you try to run it. However, the POSIX version seems to work just dandy. I've forwarded this information to Dan Urist to get his thoughts on the subject.
On the whole, I think I'm in agreement with Casper Dik (a solid veteran of comp.unix.solaris) when he says, "Which idiot would read from the same DIR* in two threads?".
Update: Dan received a similar bug report from someone else and is going to use the POSIX version in the future.