Mike,
I don't think there are any big best practices when it comes to event pools. You should simply not exhaust the pool completely, but if you do, an assertion in QF will catch it.
In general, I would not expect any segmentation faults in QF. I would expect assertions.
The only possibility I see for a segmentation fault in line 53 of qf_new.cpp is the pool id going out of range. I still don't know how this corruption could happen, because a few lines above it, the pool id is asserted to be in range.
I would appreciate any additional data about the problem. Perhaps you could set up a debugger to inspect the local variables, such as the pool id and the QF_pool_[] array