Oh, I think I see what's happening. Our assertions can still be turned
off at run-time with the variable assert_enabled.
Hm, you would have to replace assert_enabled with a #define in
postgres.h and then do something about the guc.c code which assigns to
it.
On another note is there any way to marke MemoryContextAlloc,
MemoryContextAllocZero, palloc, repalloc, and friends as never
returning NULL? I think that's causing most of the "null dereferenced"
errors.