nlapiCreateSearch is not giving correct joined results if the inner-join exceeds 1000 records. In my example I tested 2 custom record types. Type A is master while Type B is detail. There is 1 to Many relationship between Type A and B.
nlapiCreateSearch is searching on Type B records, with one field reference from Type A. The joining goes OK as long as Type B records are less than 1000.
On my end I created workaround, and got rid of the join to fix the issue