The check-for-recursion test is approximate because the search parser doesn't maintain a call (recursion) stack. Instead it uses the heuristic that a search must be recursive if the search expression executes the same saved search more than 5 times. For example, this search doesn't fail:
Code:
search:"b" or search:"b" or search:"b" or search:"b" or search:"b"
but this search does fail:
Code:
search:"b" or search:"b" or search:"b" or search:"b" or search:"b" or search:"b"
Assuming your searches aren't actually recursive, my guess is that is what is happening to you.