Now, there is nothing wrong with your NWNX, but...
My log:
[Thu Jun 10 15:19:58] NWNX_ODBC_FETCH row: 0¬156
[Thu Jun 10 15:19:58] SQL: RowID = 0
[Thu Jun 10 15:19:58] SQL: Data = Male
Your log:
[Thu Jun 10 12:05:38] NWNX_ODBC_FETCH row: 0¬156
[Thu Jun 10 12:05:38] SQL: RowID = 0
[Thu Jun 10 12:05:38] SQL: Data =
you did get the data from database, but the game can't convert that data to a text string. Now, i see two reasons why this would happen:
1. GetStringByStrRef() function doesn't work for some reason (engine function, can't help you if this is the case)
2. you've edited the default dialog.tlk file
Just to make it 100% sure, could you test the file i've attached, that's probably the last one...