WT_CURSOR.reconfigure doesn't initialize call API information.
If you assert in __wt_txn_context_prepare_check that WT_SESSION.name is non-NULL, and run test_prepare03, you get this stack:
#3  0x00000008045686e2 in __wt_abort (session=0x807a48598)
    at src/os_common/os_abort.c:27
#4  0x00000008045c372e in __wt_assert (session=0x807a48598, error=0, 
    file_name=0x8046005f7 "__wt_txn_context_prepare_check", line_number=200, 
    fmt=0x8045fe256 "%s") at src/support/err.c:512
#5  0x000000080450fe72 in __wt_txn_context_prepare_check (session=0x807a48598)
    at misc.i:200
#6  0x0000000804514f6b in __wt_cursor_reconfigure (cursor=0x807478300, 
    config=0x0) at src/cursor/cur_std.c:913