If I have the editor open on some MXML code, and a range of characters is selected in the editor, then invoking Blueprint uses the selected text as the search string. This seems like the right thing to do.
However, if there is NO text selected, Blueprint uses an entire line of code as the search string (whatever line the insertion point happens to be in). I my experience this is almost always wrong, because (a) most lines of code e.g. "}" or "allPanels = new LayersPanel();" or "private var allPanels : Dictionary = new Dictionary(); do not usually produce very useful search results, and (b) because these strings clutter up the search history.