Ok after hours of debugging found the solution:
1)You can only accurately search a field that you have sorted using ADDSORT.
2)(Not so sure about this one but from what it looks like) - you must specify all Sorted fields, in order, in the search term. e.g. to search a dataset with the following structure with 2 columns titled Field1 and 2 populated with Value 1 and 2:
Field1 | Field 2
addsort must have both Field1 and Field2 specified.
and to search the dataset: dataset.find([Value1, Value2]) must both be specified (could be wrong on this one - hope I am!).
Hope that helps for anyone stumbling accross this in teh future.