Are you sure you really want to turn off search for non-members? A lot of people don't like having to sign up for basic functions like search... it may turn away potential members.
Also, are you sure its non-members? I ask because for the longest time I had a member who didn't realize that he wasn't logging in when he entered his username/password every time he posted... kept wondering why certain things wouldn't show up. He saw his info being entered in (courtesy of his browser's password management program) and simply thought he was logged in.
I seem to remember that there were some optimizations for the search page floating around here - though it may have only been for SQL Server. I would think that that would be the better way to go.
Have a look in members.asp and see how it handles guests then do something similar in search.asp.
Search is your friend “I was having a mildly paranoid day, mostly due to the fact that the mad priest lady from over the river had taken to nailing weasels to my front door again.”