Please provide a full compilable sample project (.pas, .lfm, .lpr, .lpi and spreadsheet files only, packed to a single zip). But I suspect that the issue is FindCell which does not set the "acitve" cell - FindCell only returns the pointer to the cell record at the given coordinates, it has nothing to do with "searching" in the sense of your question. FindCell returns nil when a cell record does not exist for this particular cell; this is the reason why worksheet.FindCell(ARow, AColor).ReadAsText does not work.
Using SelectCell(ARow, ACol), however, sets the internal row/col variables for the "active" cell which are used by "searching".
FindClose would have no effect because there is no "search buffer". When you want to re-use the same SearchEngine for another search with different parameters just initialize the SearchParams records with new values.
Thanks for reporting the typo in the wiki - these things happen... I also added a sentence on how to define the active worksheet and active cell if needed by the search.