How do you make your finds ?
Manually or by a script ?
keep in mind that to find records wich have: finction, you'll need to search by: ==finction
My first reaction is almost the converse to yours - I don't see how it didn't produce that 'fault' in your former version! I think the answer is that you are looking in the field 'BookType' for the data 'fiction', and one of Filemaker's great strengths is that it will return all records with that starting character string in the field, anywhere. But I have come across many examples where Filemaker is inconsistent (read: "I didn't investigate it conscientiously enough") in what it sees as a separating character. For example, searching for the data "Smyth" would return for me all the people with the name " Mr John Smyth" and also those called "Mrs Jane Smythe", as well as those called "Mr Smyth Jones". But whether it also returned those called "Mr Ponsonby-Smythe" seemed to be determined by whether or not Filemaker saw the '-' as a word-separator or not. The 'name' example is only slightly facetious, but is a serious enough issue when you are searching for Part Numbers that often include '-' and '/' in them.
My guess is that there is some difference in the encoding between WinXP and Leopard, and one sees the text 'Non-fiction' as one word, and the other sees it the same as 'Non fiction'.
To prove my theory you could duplicate the field and format the copy as an 'Edit box'. Then perform the search in that box, only this time enter '=fiction', and my guess is you'll see only those that have 'Fiction' as their type. If that works, then you can use that box for searching (and leave the check box for rapid data-entry), or write a script that takes your search criterion and prefixes it with a'=' before performing the search.
Hope that helps,
To expand on Raybaudi's post:
When you enter the text "Apple" as a find criterion into a filemaker text field, it will match all of the following:
Granny Smith Apple
To filter out the partial matches, you'll need to insert == , the exact match operator, before your search text. If you are doing this manually, you'll have to enter the the text into an edit box formatted field instead of a checkbox field. (See Field / Control | Setup...)
Your other alternative, if you want to keep your check boxes when performing a find, is to take out the hyphen so that Non-fiction is now Nonfiction. That'll require using replace field contents to update your existing records.