I tried it and had no problem. I can't be sure why you are seeing what you are seeing, but I would suspect an invalid or incorrect object handle. Here is the code I used to get it to work. It returned a VTRUE (-1) value telling me it found the search string.
//Get the number of characters in the document
Word_GetProperty (docHandle, NULL, Word_DocumentCharacters, CAVT_OBJHANDLE, &charHandle);
Word_GetProperty (charHandle, NULL, Word_CharactersCount, CAVT_LONG, &numChars);
//Select the Range to search (char 0 to numChars)
Word_DocumentRange (docHandle, NULL, CA_VariantInt(0), CA_VariantInt(numChars), &rangeHandle);
//Get a handle to the find object
Word_GetProperty (rangeHandle, NULL, Word_RangeFind, CAVT_OBJHANDLE, &findHandle);
//C
lear the Find Formatting
Word_FindClearFormatting (findHandle, NULL);
//Search for string "test"
CA_VariantSetCString (&vStr, "test");
status = Word_FindExecute (findHandle, NULL, vStr,
CA_DefaultValueVariant (),
CA_DefaultValueVariant (),
CA_DefaultValueVariant (),
CA_DefaultValueVariant (),
CA_DefaultValueVariant (),
CA_DefaultValueVariant (),
CA_DefaultValueVariant (),
CA_DefaultValueVariant (),
CA_DefaultValueVariant (),
CA_DefaultValueVariant (),
CA_DefaultValueVariant (),
CA_DefaultValueVariant (),
CA_DefaultValueVariant (), &found);
Don't forget to discard your handles when you finish with them with CA_DiscardObjHandle.
Good luck,
Chris Matthews
National Instruments