Well, if that was the problem then that should have been the problem you posted. You can't just change parameter values arbitrarily when they are intended for a specific purpose.

Are you saying that FindItemWithText doesn't return if you specify True as the fourth parameter? I'll wager not, because I just tested it and it worked as expected for me. My guess is that you have some sort of loop that is never exiting as a result of the way you've structured your code.