For a long time, rpm was being compiled in such a way that it would work on non-NPTL kernels. As of rpm-4-4.1-2, it no longer does. Note that this is independent of the other bug which was closed WONTFIX about problems caused by db4 being compiled with NPTL support -- despite the fact that db4 was compiled with NPTL support, until recently rpm worked on non-NPTL machines, but it no longer does. Was this a conscious decision or an inadvertent change? If the latter, can it be fixed?
"Work" with non-nptl kernels was not perfect. Reverting to DB_PRIVATE if/when shared posix mutexes are not functional was not the right thing to do and led to __db* cache corruption. No fix to the problem of rpm compiled expecting +NPTL but running in -NPTL environment is known, as db4 locks are compiled in. You cannot have it both ways.
With FC4, getting things working without a 2.6 kernel is virtually impossible. Which means that you always have nptl.